Nasıl Twitter OAuth burada geçerli mi?

1 Cevap php

Ben sadece PHP kullanarak benim twitter uygulama için OAuth kimlik oluştururken başardı.

Sonra gördüm this site ve ben o pencereyi kapatın ve ardından ilk penceresinde isteği devam, yeni bir pencere açmak nasıl şaşırttı?! Birileri bunu nasıl yaptığını (ben bu kullanarak tahmin ediyorum) bazı Javascript ile açıklayabilir misiniz?!

Ikinci pencere iki GET istekleri yapmak kapattığında ben fark.

Ben benim kullanıcıların sitemde içerik yazabilirsiniz ve ben o silinen almak istemiyorum çünkü böyle bir şey yapmak mümkün olmak istiyorum. O kadar rahatsızlık verici değildir iyi bir yolu var mı? (Pencere açık haşhaş). Eğer değilse ben başka bir şey düşünemiyorum, ben kendi yöntemini kullanır.

Tüm teşekkürler

1 Cevap

İşte bununla ilişkili olan JavaScript kodu parçası:

TG.util.oauth = {
    win: null,
    timer: null,
    loginUpdate: function() {
        $.getJSON('/-login/check?format=json', TG.util.oauth.loginCallback);
    },
    loginCallback: function(data) {
        if (data && data.loggedin) {
            TG.util.login.update(data);
        }
    },
    winCheck: function() {
        if (!TG.util.oauth.win || TG.util.oauth.win.closed) {
            window.clearInterval(TG.util.oauth.timer);
            return TG.util.oauth.loginUpdate();
        }
    },
    loginClick: function() {
        TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend', 
            'OAuthTwitterRequest', 
            'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
        if (!TG.util.oauth.win) return true;

        TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
        return false;
    }
};

TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend','OAuthTwitterRequest','menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
OAuth penceresini açar, bu oturum kolları

Penceresi açık değilse

if (!TG.util.oauth.win) return true;
(sanırım) true döndürür.

TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
giriş her 300 milisaniye yapılmıştır olmadığını denetleyen bir zamanlayıcı çoğaltılır.