1

的Facebook SDK目前我打电话requestNewPublishPermissions请求publish_stream许可。requestNewPublishPermissions在Android电子

有没有办法让我看看用户是否已经授权了这个权限,所以我不需要再问它了?

我想Session.isPublishPermission("publish_stream")可能是,但它似乎并不符合预期的行为。

回答

1

要检查,如果用户已经授权的权限,则必须调用API:

\GET /me/permissions 

你会得到格式的响应:

{ 
    "data": [ 
    { 
     "installed": 1, 
     "basic_info": 1, 
     "public_profile": 1, 
     "publish_stream": 1, 
     "user_notes": 1, 
     "user_friends": 1 
    } 
    ], 
} 

如果有"publish_stream": 1许可,这意味着用户已授权应用程序代为发布。

代码(如果使用Android SDK中) -

new Request(
    session, 
    "/me/permissions", 
    null, 
    HttpMethod.GET, 
    new Request.Callback() { 
     public void onCompleted(Response response) { 
      /* handle the result */ 
     } 
    } 
).executeAsync();