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();