3

私は Facebook 用の Spring Social (1.0.2.RELEASE) を掘り下げてきました。春のソーシャルを介してアップリクエストを送信する方法がわかりませんでした。私はすでに Facebook にキーなどを含むアプリケーションを持っています。友達などを取得できますが、特定の facebook ユーザーに apprequest を送信できません。本当に感謝します。

4

2 に答える 2

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);
于 2012-10-02T06:23:56.977 に答える
0

Facebook のドキュメントによると、アプリのリクエストは POST によって Graph API に送信されます。ここの「作成」セクションを参照してください。

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

Spring Social Facebook には、POST を送信するための 2 つのメソッド (応答から ID を抽出しようとする「publish()」とそうでない「post()」) を持つ GraphApi クラスがあります。

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);
于 2012-09-11T15:41:15.820 に答える