您可以在没有redirect_uri的情况下使用YouTube-Data-API吗?

时间:2019-05-07 15:31:42

标签: javascript google-api youtube-data-api

我创建了一个命令行NodeJS应用程序,用于将视频上传到YouTube频道。

我遇到的问题是,每次上传时,我都会被定向到指定的redirect_uri-根据Google文档的要求。

通过传递以下信息,我设法绕过了用户授权/登录: 提示:“无” 验证YouTube API时

我现在正在寻求完全绕开访问URI,因此它仅在命令行中运行。

有什么想法吗?

let oauth = Youtube.authenticate({

type: 'oauth',
client_id: CREDENTIALS.web.client_id,
client_secret: CREDENTIALS.web.client_secret,
redirect_url: CREDENTIALS.web.redirect_uris[0]

});

opn(oauth.generateAuthUrl({

access_type: 'offline',
scope: ['https://www.googleapis.com/auth/youtube.upload'],
prompt: 'none'

}));

重定向uri最初是在Google Developer控制台中创建应用程序时指定的。

然后您下载JSON文件,将其添加到工作目录中,并从JSON文件中调用Client_id,client_secret和redirect_uri以使用oauth2.0对YouTube进行身份验证。

当我注释掉redirect_uri时,我收到无效请求的错误-需要redirect_uri。

我正在寻找一种可能的解决方法,例如仅重定向一次,而不是在终端中运行节点file.js时为我进行的每次上传。

1 个答案:

答案 0 :(得分:0)

您应该阅读the official documentation的相关部分。可以使用回送IP地址,因此我猜类似“ http://127.0.0.1:80”或“ urn:ietf:wg:oauth:2.0:oob”的方法可能有效。不过不要忘记设置其他必需的参数。