2012-08-31 153 views
3

我一直在挖Facebook的Spring Social(1.0.2.RELEASE)。我無法找到如何通過春季社交發送apprequest。我已經有一個在Facebook上的應用程序與鑰匙和東西。我可以取得朋友等,但不能向特定的Facebook用戶發送apprequest。真的很感激。如何通過春季社交Facebook發送apprequest

+0

你如何通過彈簧社會的Facebook獲取好友資料? –

+0

你遇到什麼問題?文檔(https://developers.facebook.com/docs/requests/)對此非常有用,JS SDK觸發請求對話框,並且您需要一些服務器端代碼來接受和刪除請求 – Igy

+0

Spring社交摘要的詳細信息,例如獲取好友檔案的代碼是'List friendProfiles = facebook.friendOperations()。getFriendProfiles();'。必須有一些像'facebook。??? Operations.send ???(userId,redirect,data,message);'因此,與developers.facebook.com上的文檔無關,因爲spring會爲你處理它 – hevi

回答

5

下面的例子應該做的伎倆 - 即創建一個應用程序訪問令牌,然後創建一個使用已使用創建的應用程序訪問令牌初始化一個FacebookTemplate請求

// retrieve app access token 
RestTemplate restTemplate = new RestTemplate(); 
String result = restTemplate.getForObject("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=<app_id>&client_secret=<app_secret>", String.class); 
String appAccessToken = result.replaceAll("access_token=", ""); 

// create the request  
FacebookTemplate appRequestTemplate = new FacebookTemplate(appAccessToken); 
String userId = "1234567890"; 
MultiValueMap<String, Object> requestData = new LinkedMultiValueMap<String, Object>(); 
requestData.set("message", "Sending a request through to you..."); 
String resultOfApprequest = appRequestTemplate.publish(userId, "apprequests", requestData); 
0

根據Facebook文檔,應用程序請求通過POST發送給Graph API。看到這裏的「創建」部分:

https://developers.facebook.com/docs/reference/api/user/#apprequests

春社會Facebook有兩種方法GraphApi類發送帖子,「出版()」,它試圖從響應中提取的ID和「後() 「這不:

http://static.springsource.org/spring-social-facebook/docs/1.0.x/api/org/springframework/social/facebook/api/GraphApi.html

所以,你可能需要做的線沿線的一個電話:

Map<String, Object> requestData = new HashMap<String, Object>(); 
requestData.put("message", "My app's request message"); 
String requestId = graphApi.publish(userId, "apprequests", requestData); 
+1

請注意,端點需要應用程序訪問令牌,而不是用戶訪問令牌。通常情況下,FacebookTemplate是由用戶訪問令牌(特別是通過連接框架構建的)構建的,因此端點將不起作用。但是,您仍應該可以使用應用程序訪問令牌(通過客戶端憑據授予獲得)手動構建FacebookTemplate併發布到該端點。這有點笨拙,但應該工作。我真的應該在FacebookTemplate中真正考慮像這樣的應用程序級別的請求,所以這不是一件容易的事情。考慮這一點。 –

相關問題