我在我的网站上使用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。为什么我没有在服务器端收到它?
答案 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