【问题标题】:How to using GoogleAPI access_token & refresh_token, for YoutubeAPI?如何为 YoutubeAPI 使用 GoogleAPI access_token 和 refresh_token?
【发布时间】:2019-04-11 03:28:23
【问题描述】:

对不起,也许这是个愚蠢的问题。

我尝试按照教程中的步骤使用 Google Oauth2 制作应用程序: https://medium.com/@pablo127/google-api-authentication-with-oauth-2-on-the-example-of-gmail-a103c897fd98

目前我已经成功,直到我得到 access_token 和 refresh_token 如下:

{
  "access_token": "*****",
  "expires_in": 3600,
  "refresh_token": "*****",
  "scope": "https://www.googleapis.com/auth/youtube",
  "token_type": "Bearer"
}

我想问的是,如何使用 YoutubeAPI 上的数据: https://developers.google.com/youtube/v3/docs/subscriptions/insert

Q1:这样我就可以通过我的应用订阅或取消订阅某些频道。

Q2:另外,如何使用“refresh_token”获取下一个“access_token”。

提前谢谢你。

【问题讨论】:

  • Aaa并且您刚刚将访问令牌发布到 Internet...
  • 大声笑,谢谢你提醒我*__^
  • 您需要获取新的令牌(不仅仅是编辑帖子)。编辑历史保存在 Stack Overflow 上,所以我仍然可以在这里查看您的令牌:stackoverflow.com/posts/53193901/revisions

标签: php youtube-api google-oauth


【解决方案1】:

您可以创建一个调用subscriptionsInsert 函数的按钮。如果您需要有关如何创建按钮的信息,可以参考此SO question

在提供的代码中,调用函数时订阅的频道固定为 ID 为:UC_x5XG1OV2P6uZZ5FSM9Ttw 的频道。要更改此设置,您可以尝试使用Channels.list 获取channelId

https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername={USER_NAME}&part=id

关于第二个问题,如果您请求离线访问与令牌关联的范围,您可以refresh an access token

  • 如果您使用 Google API 客户端库,client object 会根据需要刷新访问令牌,只要您为
    配置该对象 离线访问。
  • 如果不使用客户端库,则redirecting the user to Google's OAuth 2.0 server时需要将access_typeHTTP查询参数设置为offline。在这种情况下,当您exchange an authorization code 获取访问令牌时,Google 的授权服务器会返回一个刷新令牌。然后,如果访问令牌过期(或在任何其他时间),您可以使用刷新令牌来获取新的访问令牌。

【讨论】:

  • 对不起,我是新手,我的问题是当我有使用“googleapis.com/youtube/v3/channels”的“访问令牌”时如何使用 PHP 实现?
猜你喜欢
  • 1970-01-01
  • 2016-05-04
  • 2018-02-07
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
相关资源
最近更新 更多