Facebookユーザーをイベントに参加させようとしています
Request.executePostRequestAsync(...)
ただし、サーバーは常に次を返します。
{Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"FACEBOOK_NON_JSON_RESULT":false}}, error: null, isFromCache:false}
認証が機能し、ユーザー情報を取得できます... Graph API Explorerとのリンクを試してみたところ、そこで機能したため、コードに問題があるはずです。権限も確認しましたが、問題ありません。誰かが私を助けてくれれば幸いです。ここに私のコードがあります:
List<String> permissions = new ArrayList<String>();
permissions.add("rsvp_event");
private void attendToEvent(final String eventID){
Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
Session actSession = Session.getActiveSession();
if (!hasRSVPEventPermission() && actSession.isOpened()) {
actSession.requestNewPublishPermissions(new Session.NewPermissionsRequest(MainActivity.this, permissions));
}
String accessToken = actSession.getAccessToken();
String path = new String("https://graph.facebook.com/"+eventID+"/attending");
if(session != null && session.isOpened()){
JSONObject jo = new JSONObject();
final GraphObject go = GraphObject.Factory.create(jo);
Request.executePostRequestAsync(session, path, go, new Request.Callback() {
//Request.executeGraphPathRequestAsync(session, path, new Request.Callback() {
@Override
public void onCompleted(Response response) {
System.out.println(response.toString());
showAttendResult(response.getGraphObject(), response.getError());
}
});
}
}
});
}
private boolean hasRSVPEventPermission() {
Session session = Session.getActiveSession();
return session != null && session.getPermissions().contains("rsvp_event");
}