在我的iOS应用中,我希望允许用户通过张贴到他们的墙上来分享图片,因此当他们点击分享按钮时,它会要求用户授予该应用的publish_actions
权限。虽然我可以使用开发者的Facebook帐户将其发布到墙上而没有任何问题,但我无法使用另一个Facebook帐户(在Facebook应用程序中没有任何角色),会发生以下错误:
2014-08-27 16:12:30.896 myApp[8139:907] permission granted, starting to publish...
2014-08-27 16:12:31.154 myApp[8139:907] Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x1f056860 {com.facebook.sdk:HTTPStatusCode=403, com.facebook.sdk:ParsedJSONResponseKey={
body = {
error = {
code = 200;
message = "(#200) The user hasn't authorized the application to perform this action";
type = OAuthException;
};
};
code = 403;
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x1ddfb720, state: FBSessionStateOpenTokenExtended, loginHandler: 0x1ddf14d0, appID: (__myApp's Facebook appID__), urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x1ddc1dc0>, expirationDate: 2014-10-26 08:12:28 +0000, refreshDate: 2014-08-27 08:12:30 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
status,
permission
)>}
在我使用非开发者帐户点击共享按钮后,它永远不会提示要求publish_actions
权限,这在我使用开发人员帐户时会执行。同时,当我使用开发人员的帐户时,应用程序会在此屏幕截图中通过红色对话方式请求权限:
http://i59.tinypic.com/2iqc17o.jpg
我读过一些与此问题相关的帖子,有人说Facebook实施了新政策,要求所有发布材料的应用程序在开发者以外的任何用户发布任何内容之前提交评论。这是真的?如果是,我在哪里可以找到该政策更新?我试图在Facebook的开发者页面中寻找它,但我只发现有关需要审查Facebook登录是否需要除了public_profile等基本信息(Login review)之外的许可的声明。非常感谢!
答案 0 :(得分:1)
是的,正如所说here,
应用可能会要求任何 提交以供审核的人员获得以下权限 Facebook的:
public_profile
电子邮件
user_friends
适用于所有新应用。旧应用程序仍然可以使用旧API。