저는 Facebook의 캔버스 페이지 내에 배치 될 Play 2.0.1 애플리케이션을 작성하고 있습니다. Facebook API에 restFB를 사용하고 있습니다.Play 2.0.1 및 RestFB를 사용하여 서명 된 Facebook JSON에 액세스
https://developers.facebook.com/tools/explorer?method=GET에 수동으로 액세스 토큰을 생성하면 Facebook 응용 프로그램에서 Facebook 사용자 이름에 액세스하고 Facebook의 Canvas 페이지 iFrame에서 렌더링 할 수 있습니다.
그래서, 내 응용 프로그램 컨트롤러는 POST 수신이 같은 페이지를 렌더링 :
내 경로는 다음과 같이 설정되어public static Result handle_fb_post() {
return redirect(routes.canvas.fb_render_profile_page());
}
public static Result fb_render_profile_page() {
String accessToken = "<access token copied from facebook graph explorer>";
DefaultFacebookClient().getExtendedAccessToken(application_id, application_secret);
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
User fbUser = facebookClient.fetchObject("me", com.restfb.types.User.class);
return ok(views.html.fbuser.render(fbUser));
}
:
POST /fbcanvas/ controllers.FBCanvas.handle_fb_post()
GET /fbcanvas/profile controllers.FBCanvas.fb_render_profile_page()
그러나
, 어떻게 내가 서명에 액세스 할 수 있습니다 페이스 북에서 나를 POST로 보내는 JSON? 여기에 설명 된대로 사용자의 액세스 토큰 (사용자가 내 앱을 승인했다고 가정)을 포함한다고 생각합니다.
https://developers.facebook.com/docs/samples/canvas/ ("signed_request 매개 변수"섹션 참조)
Java, PHP, Javascript 및 Python에 대한 몇 가지 예제가 있지만 Play 2 또는 RestFB에서이를 수행하는 방법을 설명하는 것을 찾을 수 없습니다. 여러 가지 접근 방식을 시도했지만 Play 2에서 서명 된 요청에 액세스하는 방법을 찾을 수 없습니다.
누구에게 도움을주고 설명 할 수 있습니까? 토큰은 POST 요청에서 JSON으로 전송되면