2014-01-23 28 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);