【问题标题】:Get user email using Youtube API使用 Youtube API 获取用户电子邮件
【发布时间】:2013-09-05 04:53:16
【问题描述】:

如何使用 Youtube API 获取经过身份验证的用户电子邮件?

我尝试使用channels.list:

GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&mine=true&key={YOUR_API_KEY}

它不返回电子邮件...

我使用this NodeJS module 与 Youtube API 通信:

var Youtube = require("youtube-api");

Youtube.authenticate({
    type: "oauth",
    token: ACCESS_TOKEN
});

Youtube.channels.list({
    "part": "brandingSettings",
    "mine": true
}, function (err, data) {
    console.log(err, data);
});

【问题讨论】:

    标签: node.js api youtube youtube-api


    【解决方案1】:

    要获取用户的电子邮件地址,您需要在 OAuth 期间首先获得他们的许可。 Google 的 OAuth 专门为此提供了一个范围。我不熟悉 Node.js youtube-api 模块,但您必须让它包含一个额外的 OAuth 范围:https://www.googleapis.com/auth/userinfo.email。然后电子邮件地址将在对http://googleapis.com/oauth2/v1/userinfo 的请求的响应中可用。

    这篇文章可能会有所帮助:http://javascriptplayground.com/blog/2013/06/node-and-google-oauth/

    【讨论】:

    • 我添加了范围。我必须提出什么要求才能收到电子邮件?
    • 您无需再提出请求。该电子邮件将作为用户 OAuth 信息的一部分返回。
    • Hmm... OAuth 请求的响应只包含这些键:{ "access_token" : "...", "token_type" : "Bearer", "expires_in" : 3600, "id_token" : "...", "refresh_token" : "..." }。我怎样才能收到电子邮件...?
    • 啊,不,你是对的,我的图书馆做的比我意识到的要多。你会想打googleapis.com/oauth2/v1/userinfo。
    • 好!将此添加到您的答案中,然后我会标记它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-08-28
    • 2017-10-20
    • 1970-01-01
    • 2012-11-10
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多