2013-07-02 33 views
0

我需要在我的Facebook應用程序中使用Spring Social進行簡單查詢SELECT url FROM url_like WHERE user_id={friendId}。爲此,我使用該庫提供的驗證碼。身份驗證正常工作。但是上面提到的查詢返回一個空數組。我想強調的是,所有需要的權限是given(user_likes和friend_likes)。然而,facebook graph explorer給我的類似訪問令牌完美地工作。來自Facebook的爲什麼Facebook訪問來自Spring Social的令牌返回空數組,而Facebook Graph Api令牌工作正常

Access token debugger表示這兩個標記都是有效的並且具有所需的權限。令牌有效期限的唯一區別:我的應用程序給出的令牌在2個月內到期,Graph API給出一個小時。

這種奇怪的行爲是什麼原因?爲什麼由我的應用程序提供的具有所需權限的令牌無法進行此查詢。如何解決這個問題?先謝謝你。

UPDATE 好吧,Facebook似乎給予了與用戶的訪問令牌不同的應用程序的訪問令牌。所以現在的問題是如何使用Spring Social Facebook獲取用戶訪問令牌?

回答

0

您需要爲特定供應商提交春季社交ConnectController的發佈請求,例如http://wwww.yourdomain:8089/connect/facebook。然後,Spring社交會將用戶重定向到Facebook授權頁面,用戶將在該授權頁面向您的應用程序授予所請求的權限並將代碼發送回您的服務器。然後Spring社交會將該代碼交換爲訪問令牌。您需要爲該用戶建立連接,以便能夠代表他/她對FB執行請求。這裏是一個可能有幫助的文檔頁面http://static.springsource.org/spring-social/docs/1.0.0.M2/reference/html/connecting.html