2011-10-12 114 views
1

我的訪問令牌存在問題!以加密訪問令牌格式登錄Facebook XMPP

accessToken一直都可以。

它的標準格式爲:AAA | BBB | CCC

我可以從給定的accessToken獲取可用的當前用戶的UID和會話密鑰(AAA | BBB | CCC)

但今天FB服務器給我一個奇怪accessToken意外。它對xmpplogin沒用。

例如。 AAACmERnbMSwBAB3XnOt4hnR71agtbo3CE8w2Xd7jD7QEURSiiOFV1Eg85tHsaHvVNobiUFppqzQcaXKjWOVSZCIFKvVsEJ4llZBfNI6AZDZD

你能不能給我一個線索?我瘋了,找到答案整天。

+0

當我今天登錄時,我收到類似的訪問令牌,但它並不妨礙我使用任何功能。 (我正在使用Facebook C#SDK) –

+0

@fansmey你是否沒有通過新的訪問令牌獲得你想要的信息? –

+0

是的,我沒有 – fansmey

回答

1

根據https://developers.facebook.com/blog/post/572/訪問令牌格式最近改變爲加密格式。所有API都應該使用包括XMPP在內的加密標記正常工作,但它需要對XMPP代碼進行小的代碼更改。

有一篇博文顯示如何在Sep 10上使用訪問令牌進行XMPP身份驗證。

更換session_keysig參數與access_token參數,它應是有xmpp_login權限的用戶的access_token - 也注意到,它需要通過SSL傳遞(我認爲是可選的,當你只有通過唯一的會話密鑰和簽名)

如果您在通過加密訪問令牌時無法使XMPP登錄工作,請提交Facebook's bug tracker中的錯誤,但請確保您已根據上述註釋和chat docs更改了參數。

+1

Thx爲您的詳細回覆。 – fansmey

+0

@lgy //創建響應數組 $ resp_array = array( 'method'=> $ challenge_array ['method'], 'nonce'=> $ challenge_array ['nonce'], 'access_token'=> $ access_token, 'api_key'=> $ options ['app_id'], 'call_id'=> 0, 'v'=>'1.0', ); //創建簽名 $ response = http_build_query($ resp_array); – fansmey

0

Facebook訪問令牌的格式最近發生了變化。現在它被加密了。目前,如果你想獲得訪問令牌問題的所有者按以下格式

https://graph.facebook.com/me?fields=id&access_token='accesstoken」

請求的用戶ID

這會將訪問令牌所有者的Facebook用戶ID作爲Json字符串返回。即使用戶未登錄,此請求也能正常工作。

+0

我會嘗試。它可以正常工作。 – fansmey