使用satellizer.js登录facebook后不接收电子邮件和public_profile

时间:2015-11-03 00:26:48

标签: angularjs node.js facebook-login satellizer

我在我的网站上使用satellizer.js登录facebook。我正在使用nodejs服务器。这是我正在使用的配置。

 $authProvider.facebook({
        url: '/api/auth/facebook',
        authorizationEndpoint: 'https://www.facebook.com/v2.3/dialog/oauth',
        redirectUri: (window.location.origin || window.location.protocol + '//' + window.location.host) + '/',
        requiredUrlParams: ['display', 'scope'],
        scope: ['email','public_profile'],
        scopeDelimiter: ',',
        display: 'popup',
        type: '2.0',
        popupOptions: { width: 580, height: 400 }
    });

在服务器端,我收到了请求正文:

{ code: 'AQD1Sq3TaQ1DF6LfQAHNioPSJfM0t3cOHSO3pbYMZ5TslXYFK4AuRg5eDj7xL0L7YfegaVZj6BQ9f5Zc44wJnQuA2Yfe9rhjoJBRnWL4WUt93o1sy4jwSsN6k2uceE4Yk3L9YkdQZm5TqKpRELeANR8pI_EjW1irqkoh6OUtLltvAujQDp3ChCblti2v4HA1cJQE6EG-0iBia54eUEFkLtkzvDeLi6WZ7I8rRg3Nr_gmUiPmNVDhPgb7fRiUOjeeQ2J-mt1Ai36bJp8Z3dk6UUbA3SMKq0lPkdoAhN8iW-aAaTlI6NQdSBV29Yu2JNwS9Je1obPeFy3KUmTCDeqWug9e',
clientId: '1039213532796449',
redirectUri: 'http://localhost:8001/' }

与satellizer配置一样,我要求发送电子邮件和basic_profile。为什么我没有在服务器端收到它?

1 个答案:

答案 0 :(得分:0)

问题最有可能出现在服务器端,您需要将Graph Api更新为2.5版,并在Graph Api Url中包含字段参数,如下所示:

$graphApiUrl = 'https://graph.facebook.com/v2.5/me?fields=id,name,email,picture,first_name,last_name';

有关详细信息,请查看以下内容:

https://developers.facebook.com/docs/graph-api/using-graph-api/v2.5

相关问题