2012-11-30 65 views
0

我使用任何地方API的twitter允許用戶使用twitter登錄並獲取他們的twitter數據來存儲它我的table.Since由於twitter任何地方API將要過期很快我怎麼能將此功能遷移到oauth 。從twitter移動任何地方api

我的javascript:

<script src="https://platform.twitter.com/anywhere.js?id={{twitterappid}}&v=1"></script> 
<script type="text/javascript"> 
var twt_connected = 0; 
var Uuid = '2334443224'; 
$(function(){ 
if ($('#twtlogin').length) { 
    // do something 
twttr.anywhere(function(twitter) { 
if(twitter.isConnected()){ 
//alert('Welcome, you are connected'); 
currentUser = twitter.currentUser; 
screenName = currentUser.data('screen_name'); 
jQuery.ajax({url:"/twitter/Uuid="+Uuid+"/" , 
      type: "POST", 
      data: {user: JSON.stringify(currentUser) }, 
      dataType: "json", 
      success: function(result) { 
         }}); 
document.getElementById("twtlogin").innerHTML = '<img src="/images/icon_tconnected.gif" width="153" height="37" alt="Connected" />'; 
} 
}); 
} 
}); 

$("#login").click(function(e){ 
    e.preventDefault(); 
    if (twt_connected == 0){ 
    $.post("/twt-click-time/Uuid="+Uuid+"/","clicked",function(data){}) 
    twttr.anywhere(function (T) { 
      T.bind("authComplete", function (e, user) { 
      document.getElementById("twtlogin").innerHTML = '<img src="/images/icon_tconnected.gif" width="153" height="37" alt="Connected" />'; 
      twt_connected = 1; 
      currentUser = T.currentUser; 
      screenName = currentUser.data('screen_name'); 
      jQuery.ajax({url:"/twitter/Uuid="+Uuid+"/" , 
         type: "POST", 
         data: {user: JSON.stringify(currentUser) }, 
         dataType: "json", 
         success: function(result) { 
         }}); 

      }); 
      T.signIn(); 
      }); 
      } 
      }); 

</script> 

我爲使用Django在我的後端。

回答

1

我現在正在爲燒瓶做這個工作。最簡單的選擇是插入一些服務器端oauth調用。

這是一個相當大量的代碼,所以我不會在這裏複製和粘貼整個東西,但simplegeo的oauth2的github頁面實際上有一個「logging into django with twitter」演練,應該有所幫助。

經過幾個選項後,我覺得我最喜歡twython。這只是做了oauth的第一步:

from twython import Twython 

t = Twython(app_key='key', 
      app_secret='secret', 
      callback_url='http://google.com/') 
auth_props = t.get_authentication_tokens() 
print auth_props