4

我设置了一个 Facebook 选项卡来请求用户电子邮件的许可 - 这工作正常,但出现的对话框显示“ Appname 想要访问您的公开个人资料、朋友列表和电子邮件地址。'

这会降低应用程序的参与度——我不想要公开的个人资料或朋友列表。

代码如下,假appId:

 var useremail;
    window.fbAsyncInit = function() {
        FB.init({
            appId: '01234567890', 
            cookie: true, 
            xfbml: true,
            oauth: true
        });
        FB.login(function(response) {
            if (response.authResponse) {
                FB.api('/me', function(response) {
              useremail=response.email;
              //Do stuff
                });
            } else {
                //No access
            }
        },{scope: 'email'});
    };
    (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
    }());

即使我删除了电子邮件范围请求,它仍然声称我在用户的公开个人资料和朋友列表之后。以前没有这个问题,它曾经显示友好的可自定义对话框,您可以在“应用程序”>“设置”>“权限”区域中预览。

我找不到任何其他可能导致此问题的设置。任何想法,提前谢谢...

4

2 回答 2

3

我将此标记为已回答,该问题在http://www.insidefacebook.com/2012/12/12/how-changes-to-facebooks-app-auth-process-affect-developers/

简而言之,在通过 Javascript SDK 登录时显示的权限对话框中,Facebook 已将“基本信息”重命名为“公共个人资料和朋友列表”。

我们正在恢复在我们所做的 Facebook 比赛中手动填写电子邮件字段,这可能会导致更多的参与,而不是被迫在访客脸上抛出如此不祥的声音对话,让人们理所当然地说“不,谢谢”。

于 2013-04-25T23:16:12.750 回答
0

你看到

FB.api('/me', function(response) {

线?将 /me 替换为 /email 应该可以。

我从 Graph API 得到这个。

于 2013-04-23T21:04:04.243 回答