我需要通过我的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));
}
答案 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);