2014-01-23 52 views
1

我需要通過我的Android應用程序發送消息給當前用戶的Facebook好友的擴展權限有效性的Facebook會話用的accessToken

我能得到擴展權限「XMPP登錄」來自Facebook的會話。 問題: 每當我必須發送消息時,我都要求提供「xmpp_login」權限。 只能使用該訪問令牌發送一條消息。

的代碼,我寫了要求新權限

private static final List<String> INIVITE_PERMISSION = Arrays.asList(
     "publish_stream, publish_actions", "xmpp_login"); 




Session session = Session.getActiveSession(); 
        List<String> permissions =session.getPermissions(); 
        for(int i=0;i<permissions.size();i++) 
         Log.e("permissions",""+permissions.get(i)); 
        if(!permissions.contains("xmpp_login")) 
        { 
        Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(
          (Activity)mCtx, INIVITE_PERMISSION) 
          // demonstrate how to set an audience for the publish 
          // permissions, 
          // if none are set, this defaults to FRIENDS 
          .setDefaultAudience(SessionDefaultAudience.FRIENDS) 
          .setRequestCode(100); 
        session.requestNewPublishPermissions(newPermissionsRequest); 

        session.requestNewPublishPermissions(new NewPermissionsRequest((Activity)mCtx, INIVITE_PERMISSION)); 




        } 

回答

2

我發現這個問題的答案塊。

我只是因爲xmpp_login進入讀取權限纔得到此權限。我正在請求發佈請求的許可。所以它一直使用請求權限。

`private static final List<String> INIVITE_PERMISSION = Arrays.asList(
     "publish_stream, publish_actions", "xmpp_login");` 

應該 private static final List<String> INIVITE_PERMISSION = Arrays.asList("xmpp_login"); ,我不得不改變 session.requestNewPublishPermissions(newPermissionsRequest);session.requestNewRead Permissions(newPermissionsRequest);