我如何获得使用 JavaScript Facebook API 的 "publish_actions" 权限?

How do I get the "publish_actions" permission to work with the JavaScript Facebook API?

我有一个应用程序,正在尝试连接:

FB.login(statusChangeAfterLogin,
            { scope:"public_profile,email,user_friends,publish_actions" });

但是,publish_actions 似乎被完全忽略了。

也就是说,我们的应用程序能够获取 public 个人资料信息、电子邮件和用户好友列表,但无法共享动态生成的图像。

我尝试分两步破解登录:

// first login when initializing (no publish_actions)
FB.login(statusChangeAfterLogin,
            { scope:"public_profile,email,user_friends" });

// second login when user is ready to share (just publish_actions)
FB.login(statusChangeAfterLogin,
            { scope:"publish_actions" });

但是,第二个操作似乎完全没有任何作用。

我无法理解为什么我应该在没有先在范围中包含 publish_actions 的情况下允许共享。我可以看到它出现在 GET 变量列表中并包含预期的所有参数,但第二次登录只是打开一个弹出窗口,关闭它,然后完成。

所有其他权限都不需要审查,但 publish_actions 需要。我假设您没有尝试作为在应用程序中具有角色的用户。了解登录审核:https://developers.facebook.com/docs/facebook-login/review

publish_actions 仅适用于在应用程序中具有角色的用户,您需要完成审核过程才能使其对其他人可用。