2011-10-11 108 views
1

我們最近推出了一個新的應用程序,其中一個功能是當用戶喜歡某個特定頁面時提供折扣。我已經成功地測試了衆多帳戶的功能,並且我們繼續發佈。我們使用的圖形API來檢索他們會喜歡的所有頁面的列表,並檢查是否需要的頁面是在那裏:問題與應用程序提供的訪問令牌

https://graph.facebook.com/me/likes?access_token=ACCESS_TOKEN

我們已經有一些用戶與我們聯繫,並提醒我們,他們間沒有即使他們喜歡這個頁面,他們也沒有看到這個折扣。我們可以請求其中一個帳戶的詳細信息,並觀察以下情況。

當應用程序被授權時,Facebook將它們發送到我們的網站並在HTTP請求中使用訪問令牌(我們爲圖API調用提供訪問令牌)。

https://example.com/?ref=ts 

POST /?ref=ts HTTP/1.1 
... 
Set-Cookie: fbs_uid=%22uid3D%26access_token%3[ACCESS_TOKEN_REMOVED]%26expires%3D1318381200%26sig%3Dd0b6fdf09befedf022cdea8b58887348%22; expires=Wed, 12-Oct-2011 01:00:00 GMT; path=/ 

所以你可以在那裏看到訪問令牌。奇怪的是,當我們嘗試使用Facebook提供的訪問令牌進行API調用時,它會再次返回一個空結果(即使他們已經喜歡頁面)- 這僅適用於某些帳戶。更令人困惑的是,當我們登錄Facebook開發者頁面(https://developers.facebook.com/docs/reference/api/)並點擊/ me/likes鏈接時,我們得到一個完整的用戶喜歡列表,但具有不同的訪問令牌。

因此,提供給Facebook的訪問似乎不足以提取數據。這隻影響某些帳戶而不影響其他人,所以我想知道是否存在某種形式的配置問題,但從我的立場來看,我沒有看到任何解決方法,因爲Facebook提供的數據看起來不正確。

使用Facebook提供的訪問令牌,我們不會收到任何錯誤(即我們沒有得到「驗證訪問令牌的錯誤」),因此訪問令牌會進行驗證。

回答