我无法刷新我的 Youtube API 令牌,并且我不明白返回的错误



我是新来的,我提前感谢所有帮助我的人。

我使用Youtube API在一些视频中收集评论。这对我来说非常重要,因为我有一个用PHP开发的系统,用于收集社交媒体的公共内容。我有一个应用程序在谷歌api,我可以验证我的系统上的帐户使用OAUTH。

然而,这个令牌在几分钟后过期。API中有一个叫刷新令牌的东西,它在第一次身份验证后返回。它必须准确地用于刷新我的令牌并保持我访问API。几天前,这个资源停止工作了。我不能再刷新我的令牌了,我不明白他们返回给我的JSON中的错误。

我尝试使用cUrl更新令牌:

public function renewToken() {
    $url = 'https://accounts.google.com/o/oauth2/token';
    $params = array(
        'body' => array(
            'client_id' => self::CLIENT_ID, 
            'client_secret' => self::CLIENT_SECRET, 
            'refresh_token' => $this->refresh_token, 
            'grant_type' => 'refresh_token',
        ), 
    );
    $return = $this->curl->post($url, $params);
    if($this->curl->http_code==200)
        ....

直到一两个星期前它还在工作。然后就停了,我也不知道为什么。API返回的唯一错误消息是:

{
  "error" : "invalid_request"
}

我在Google api控制台创建了一个新的应用程序,获得了客户端ID和密钥,在我的代码中更改了它们,结果是相同的。我对正在发生的事情只有一点点线索。是发生在某人身上吗

Google Developers上的OAuth2.0文档最后一次更改是在2天前(截至今天,2016年10月8日),即10月6日(见页面底部)。我只能假设他们最近对工作流程做了一些改变,这就解释了为什么你的应用程序突然停止工作。

例如,我注意到用于更新令牌的文档URL不是您使用的https://accounts.google.com/o/oauth2/token,而是https://www.googleapis.com/oauth2/v4/token(请参阅"使用刷新令牌"一节)。

相关内容

  • 没有找到相关文章