2014-08-27 133 views
4

我试图获得电子邮件地址。成功登录后,我有姓,名,除电子邮件外。请帮忙。如何从vk.api获取电子邮件地址?

VK.Auth.login(function (response) { 
      if (response.session) { 


      } else { 

      } 
     }, 4194304); 
+0

电子邮件仅用于网站(面具4194304)。 https://vk.com/dev/permissions – 2014-09-18 10:45:42

回答

0

有没有办法做到这一点。 Vk是特定的社交网络。我也有同样的问题。

1

vk.com现在具有该功能。试试看看这个文档页面:https://vk.com/dev/permissions

+0

上面的作者(Evgeniy Shinkarenko)从你指出的文档描述了探针,他问为什么它不起作用。 – 2016-04-27 09:28:51

5

当你获得访问令牌时,VK也会给你电子邮件和用户ID,但你需要特定的权限 - “email”。

+0

这是正确的答案!就这样做了id。如果我能够先读这本书,然后看看互联网上其他地方,我会很高兴。 :) – 2016-09-19 19:08:19

1

是的这种方式不给电子邮件。但有办法通过OAuth获取电子邮件(对于网站vk.com/dev/auth_sites),电子邮件将与标记一起在GET参数中返回。

在Coffescript/JavaScript的,你可以使用window.open(...)

appId = 'your app id' 
redirectUri = 'your redirect uri' 
url = 'https://oauth.vk.com/authorize?client_id='+appId+'&display=popup&redirect_uri='+redirectUri+'&response_type=token&scope=email' 

newWin = window.open(url, 'vk-login', 'width=665,height=370') 

,以后你有两种方式来获得电子邮件

  1. 在重定向URI处理器(服务器方式)
  2. 做重定向到你网站的任何地方,每秒钟检查一次newWin.location.href,当它是if(newHref.indexOf(redirectUri)!= -1)然后提取参数电子邮件(客户端方式)
0

您可以使用window.open

var url = 'https://oauth.vk.com/authorize?client_id=APP_ID&scope=email&redirect_uri=http://yoursite.com&response_type=token' 

     var newWin = window.open(url, 'vk-login', 'width=665,height=370') 
     newWin.onload = function() { 
      var hash = newWin.location.hash 
      console.log(hash) 
     } 
相关问题