Facebook会话具有accessstoken的扩展权限有效性

时间:2014-01-23 09:25:03

标签: android facebook facebook-graph-api

我需要通过我的Android应用程序将消息发送给当前用户的facebook好友

我可以从facebook获得会话的扩展权限“xmpp login”。 问题: 每当我必须发送消息时,我都要求获得“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));




                    }

1 个答案:

答案 0 :(得分: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);