5

即使未使用Facebook登錄,我也想將故事發布到用戶時間軸。實際上,我將用戶訪問令牌存儲在數據庫中,如果用戶使用電子郵件登錄,我會爲她檢索訪問令牌。它的工作原理以及在PHP(如獲得後setAccessToken(token_from_database好友列表),但是當我張貼的故事,它總是張貼到當前的fb登錄帳戶的時間表在FB.init中設置用戶(訪問令牌)

我認爲這個問題是由fb.init造成的。

window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : 'XXX', // App ID 
      status  : true, // check login status 
      cookie  : true // enable cookies to allow the server to access the session 
      xfbml  : true // parse XFBML 
     }); 
    }; 

及更高版本:

FB.api('/me/... 

採取登錄賬號爲「我」,而不是我在PHP通過setAcccessToken 我怎麼能發佈到該帳戶設置一個(指定與token_from_database)的時間表?任何想法?

回答

0

我有更多的知識reagrding的PHP SDK,但在PHP中,你可以只更換了「我」與用戶ID,我想它會爲你工作,以及:

FB.api('/'+fbuserid+'/...'); 

但是你應該意識到在更改密碼並登錄和登出Facebook後,用戶的訪問令牌會發生變化。

+0

用'/ userid'替換'/ me'只會改變該API調用的「接收者」,但不會改變所使用的訪問令牌。 – CBroe 2012-08-30 13:15:23

+0

但這就是他想要做的或不做的?他希望發佈到由用戶標識給出的特定時間段,但由擁有訪問令牌的用戶發佈 - 這就是我理解問題的方式。馬里奧寫道:「我怎麼能發佈到該帳戶(用token_from_database指定)的時間表?」據我所知,他只是想改變接收器......但不是一個發佈。那麼我猜馬里奧會解決這個問題。 – SamiSalami 2012-08-30 18:58:18

19

嘗試將您想要使用的訪問令牌作爲對象的一部分傳遞給FB.api - 它應該以與訪問API服務器端時的相同方式進行。

FB.api(
    '/me/feed', 
    'post', 
    { 
    access_token : 'access_token_for_some_user_fetched_from_your_database', 
    additional_parameter_foo : 'bar' 
    } 
); 
+3

爲所有來這裏的人,在參數中傳遞access_token作品!感謝馬里奧和CBroe! – 2014-07-14 09:15:20