有没有办法按照Facebook OAuth2的要求标记诸如publish_stream
之类的范围?目前,用户可以跳过该权限,这在我的示例中会导致应用程序无法正常工作。
不,你不能这样做,事实上,Facebook要求在执行任何相关操作之前检查扩展权限。
您可以随时检查用户使用 API 授予的权限 - /me/permissions
。查看 - 图形 API 资源管理器
据我所知,没有办法"要求"扩展权限,例如publish_stream
。Facebook有一些关于如何处理用户只授予某些权限的情况的文档:
https://developers.facebook.com/docs/facebook-login/permissions/#handling
报价:
如果有人拒绝登录对话框,请预先进行清晰 说明您请求每个权限的原因。然后让 他们单击或点击以选择重新加入"权限请求"对话框。做 不会立即将它们重定向到权限请求对话框中,除非 一个解释。
对于某人已授予某些权限但未授予其他权限的情况, 仅在缺少权限时提示缺少权限 需要。例如,如果您的应用包含创建 代表一个人的事件,仅提示create_event 每当他们选择将活动添加到 Facebook 时,都可以获得许可。
除非您在登录对话框中请求的权限是 对应用的功能至关重要,而某项功能不起作用 没有它们,让人们继续使用你的应用,而没有 权限。