0

根據其API documentation,Facebook.init()方法允許您傳遞現有的訪問令牌。這對我的項目非常有用,所以我在Facebook上創建了一個測試應用程序,然後按照these instructions通過PHP獲取用戶的oauth_token。完成後,我的PHP腳本使用FlashVars將令牌傳遞給我的SWF,之後SWF使用現有令牌調用Facebook.init()。爲什麼要將現有訪問令牌傳遞給Facebook.init()?

所有這些工作正常(在Facebook和SWF播放應用程序啓動),但它產生我認爲是一個意外的結果:我傳遞給Facebook.init()的訪問令牌是不一樣的在生成的FacebookAuthResponse對象中訪問令牌。

這是設計嗎?如果是這樣,將現有訪問令牌傳遞給Facebook.init()有什麼意義?

回答

1

我會回答我自己的問題,以防萬一它幫助別人,尤其是因爲Facebook-ActionScript API變得過時和脆弱(即使在Adobe自己的tutorial中調用Facebook.init()也被破壞)。

簡而言之,我通過PHP驗證用戶並將訪問令牌傳遞給SWF的方法意味着我的應用程序不需要調用Facebook.init()。實際上,一旦我的SWF開始執行,它就可以使用像這樣通過FlashVars傳遞給它的訪問令牌:

Facebook.api("/me/friends?access_token=" + accessToken, getFriendsHandler); 
相關問題