基本上,我的目标是制作一种表格,使我网站的每个访问者都可以将评论部分中的视频上传到我的OWN channel 。目前,我正在使用YouTube OAuth版本3 API。问题是每3600秒,来自YouTube的代码将过期,我们将被重定向到要求许可的Google OAuth(例如:https://accounts.google.com/o/oauth2/auth?client_id=805j8tubb260venakqj8jq3f6hl9eluu.apps.googleusercontent.com)。并且我们需要在每次按钮过期时手动单击“允许”按钮。

那么是否可以一次允许访问,然后我们就不需要再次使用代码来向网站访问者授予上传权限了?

最佳答案

您应该遵循KENdi关于如何获取 token 的指示-他几乎直接从文档中提取了 token 。但是,您只需要这样做一次。诀窍是将refresh_token保存在某个位置,然后在要上传视频之前使用它来获取新的访问 token 。这是我快速又肮脏的NodeJS解决方案:

function getAccessToken () {
    const options = {
    method: 'POST',
    uri: 'https://accounts.google.com/o/oauth2/token',
    form: {
        client_id: 'YOUR_CLIENT_ID',
        client_secret: 'YOUR_CLIENT_SECRET',
        refresh_token: 'YOUR_REFRESH_TOKEN',
        grant_type: 'refresh_token'
      }
    }

    return request(options)
        .then(body => JSON.parse(body));
}

getAccessToken.then((token) => uploadSomeYoutubeVideo());

关于youtube - Youtube oAuth 2.0 API永久代码以检索 token ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37006335/

10-11 22:16
查看更多