在我的应用程序中,我要求用户通过 facebook 登录,然后我将收到的令牌发送到服务器,从我想要发布到用户时间线的位置。
我使用 sromku 简单的 facebook 包装器。我请求这些权限:
Permission[] permissions = new Permission[] {
Permission.USER_PHOTOS,
Permission.EMAIL, Permission.PUBLISH_ACTION,
Permission.PUBLIC_PROFILE, Permission.READ_FRIENDLISTS,
Permission.USER_ABOUT_ME
};
问题是,如果我从 android 应用程序向用户发布 Feed 对象,它会毫无问题地发布,但是当我尝试从服务器做同样的事情时,我得到:
(#200) The user hasn't authorized the application to perform this action'
如果我为我的令牌请求可用权限,我会得到:
installed [status] => granted
public_profile [status] => granted
email [status] => granted
read_friendlists [status] => granted
user_activities [status] => granted
user_photos [status] => granted
user_about_me [status] => granted
没有 publish_actions 和 publish_stream (在我知道的简单 facebook 中没有选项可以问这个问题)。
也许有人可以帮助我确定问题出在哪里?
[编辑] 列出从原始 facebook 会话(使用:simpleFacebook.getSession().getPermissions())对象检索的权限后,我看到:
Permission: public_profile
Permission: email
Permission: contact_email
Permission: read_friendlists
Permission: user_activities
Permission: user_photos
Permission: user_about_me
这真的很奇怪,因为它没有列出我的 publish_actions 权限,但仍然成功地发布到我的提要。