所以我希望用我的服务器端代码获取用户的电子邮件地址。(我可以在客户端获取)我的应用范围设置为:
"scopes":["public_profile","email"]}
我目前能够做的是验证用户令牌是否有效。但我也想请求电子邮件 - 只是为了确保在服务器端,我可以将此人登录到我的网站。 我使用此地址来验证令牌属于我的应用程序:
https://graph.facebook.com/debug_token?input_token=%REPLACE%&access_token=%REPLACE%
如果我想在服务器端向用户发送电子邮件,我的请求应该如何?
答案 0 :(得分:2)
出现另一个选项(一旦/您知道该令牌属于您的应用)是:
https://graph.facebook.com/me&access_token=USER_ACCESS_TOKEN
默认情况下,只返回id,如果你想要更多,请发送电子邮件:
https://graph.facebook.com/me?fields=email&access_token=USER_ACCESS_TOKEN
返回id和电子邮件。
答案 1 :(得分:1)
一个解决方案是:
https://graph.facebook.com/v2.1/<user_id>?access_token=<your_app_access_token>
将返回:
{
"id": "<id>",
"email": "mihkel\u0040gmail.ee",
"first_name": "Mihkel",
"gender": "male",
"last_name": "Lastname",
"link": "https://www.facebook.com/app_scoped_user_id/<id>/",
"locale": "en_US",
"name": "Mihkel Lastname"
}
如果您只需要电子邮件,则可以设置fields=email
参数:)
答案 2 :(得分:0)
您需要USER ACCESS TOKEN来获取用户邮件ID,
您可以从API调用的响应中获取访问令牌 response.authResponse.accessToken;