在 FBML 应用程序中,您可以提示扩展权限,如下所示:
Facebook.showPermissionDialog('publish_stream', callback);
这渲染了一个灯箱(很像 FB.ui({method: 'foo', display: 'iframe'}); 那样)。
从我在文档中看到的内容来看,现在提示更多扩展权限的唯一方法是使用 FB.login() 弹出一个窗口,或者将用户重定向到 oauth 对话框全屏。我们不想依赖前者,因为弹出窗口不可靠,而后者在我们的用户交互流程中毫无意义。灯箱是唯一有意义的方法。
如果 oauth 对话框可以显示为 iframe,则此代码理论上可以工作:
FB.ui({method: 'oauth',
display: 'iframe',
access_token: 'foo',
scope: 'publish_stream'
}, callback);
但是 oauth 对话框只支持显示为“page”和“mobile”。
有什么我忽略的方法吗?