2010-05-05 78 views
0

任何可以告訴我如何第二次自動連接到我的網站上的twitter。第二次使用oauth自動登錄到twitter php

我沒有...下面的代碼

if(empty($outh_key_db)){ 
    $token=$_SESSION['oauth_token'] ; 
    $outh_secr_db=$_SESSION['oauth_token_secret']; 
    $con = mysql_connect("localhost","rathin","xxxxxxxxx"); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("my_twtbook", $con); 
    mysql_query("UPDATE register SET outh_key = '".$token."', outh_secr='".$outh_secr_db."' WHERE userid='".$loguser_email."'"); 

    mysql_close($con); 

這段代碼保存outh_token和outh_tk_secret到我的數據庫。 但第二次登錄到我的網站時,我在會話中用戶名傳遞了'outh_token和outh_tk_secret'。

要OAuth驗證不在於....

請建議我....做aouth連接使用OAuth嘰嘰喳喳......如果用戶一次(第1次作出的)Twitter的連接

+0

我假設您已檢查數據庫,以確保您更新它。並且我假定連接第一時間工作(即,您可以使用令牌發送推文)? 如果您嘗試過,可以將代碼發佈到您致電Twitter的地方嗎? – 2010-05-05 16:03:28

回答

2

除了在你的數據庫中存儲令牌和祕密之外,你還應該存儲推特ID,所以你可以參考它。以下的流程應涵蓋所有(我認爲):

每個登錄

如果檢查用戶已經登錄(例如,通過檢查,如果你已經在會議上嘰嘰喳喳ID),如果用戶登錄

,不需要通過twitter,只需查詢twitter id即可獲得令牌/祕密,或者您已經擁有了它們。

如果用戶還沒有登錄,您將通過相同的oauth步驟獲取twitter id,令牌和分泌。你的代碼應該檢查你的數據庫中是否已經存在twitter id,如果存在,更新記錄(以防萬一令牌被改變 - 不知道是否會發生這種情況,例如用戶在上次訪問後撤銷權限)。如果它不存在,插入新記錄並標記用戶的狀態爲登錄狀態(例如,在某處(Cookie,會話)存儲推特ID)