我在我的范围内收到了电子邮件,我看到应用程序已给出电子邮件权限,但结果中没有电子邮件,但如果我使用带有应用程序访问令牌的资源管理器,我会收到电子邮件。 这让我发疯了我相信我的一切都是正确的。
Return Redirect(String.Format("https://www.facebook.com/dialog/oauth?client_id={0}&scope=email&redirect_uri={1}&state={2}", My.Resources.FacebookApiKey, My.Resources.FacebookRedirectUrl, Session.SessionID))
Dim webRequest As System.Net.HttpWebRequest
Dim targetURI As New Uri(String.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}&scope=email", My.Resources.FacebookApiKey, My.Resources.FacebookRedirectUrl, My.Resources.FacebookApiSecret, code))
webRequest = DirectCast(System.Net.HttpWebRequest.Create(targetURI), System.Net.HttpWebRequest)
If (webRequest.GetResponse().ContentLength > 0) Then
Dim str As New System.IO.StreamReader(webRequest.GetResponse().GetResponseStream())
reply = str.ReadToEnd
str.Close()
End If
Dim replies As String() = Split(reply, "=")
targetURI = New Uri(String.Format("https://graph.facebook.com/me?access_token={0}", replies(1)))
webRequest = DirectCast(System.Net.HttpWebRequest.Create(targetURI), System.Net.HttpWebRequest)
If (webRequest.GetResponse().ContentLength > 0) Then
Dim str As New System.IO.StreamReader(webRequest.GetResponse().GetResponseStream())
reply = str.ReadToEnd
str.Close()
End If
如果你能发光,我会非常高兴。
答案 0 :(得分:0)
我不是.net程序员,但如果电子邮件是唯一缺少的,您可以尝试在请求URL中添加查询字符串,如下所示:
https://graph.facebook.com/me?access_token={0}&fields=email
它应该可以正常工作并在JSON对象中返回电子邮件地址:
{
"email": "user.name@gmail.com",
"id": "12312312312313123123",
"type": "user"
}