FaceBook v2.5 / me电话,如何设置范围

时间:2015-12-25 04:30:48

标签: facebook-graph-api

使用RestClient调用Facebook Graph API。但是,该调用仅返回name和id或登录用户。无法弄清楚如何设置范围" public_profile,email"以便呼叫返回电子邮件地址。

 Dim client2 = New RestClient("https://graph.facebook.com")
    webrequest = New RestRequest("v2.5/me", Method.GET)
    webrequest.AddHeader("Authorization", "Bearer " & access_token)
    webrequest.AddParameter("client_id", "11111111111111111")
    webrequest.AddParameter("access_token", access_token)
    webrequest.AddParameter("client_secret", "xxxxxxxxxxxxxxxxxxxxx")
   webrequest.AddParameter("redirect_uri", "https://xxxxxxxxxxxxx/fbcallback")
    webrequest.AddParameter("scope", "public_profile, email")
webrequest.AddParameter("fields", "id, email,first_name, last_name")
        dim res = client2.Execute(webrequest)

这有效但返回包含" first_name"," last_name"的json。和" id"。尝试放置范围参数,但它没有任何区别。 FB配置文件没有问题,因为Javascript Facebook API工作正常。但要求是从服务器端调用api。 Javascript API返回" first_name"," last_name"," id"," email","已验证"和许多其他领域。

任何输入?

--- ---解决

感谢@luschn的评论,尝试将scope=public_profile,email放入第一次调用https://www.facebook.com/dialog/oauth端点以获取code(在致电获取access_token之前code)并且有效。

1 个答案:

答案 0 :(得分:1)

scope是一个仅在授权过程中有效的参数,您尝试将其添加到简单的API调用中。在API调用本身中,您只需要访问令牌和逗号分隔的字段列表:/me?fields=name,email&access_token=xxx