我是新来的,我提前感谢所有帮助我的人。
我使用Youtube API收集某些视频中的评论。这对我来说非常重要,因为我有一个用PHP开发的系统来收集社交媒体的公共内容。我在Google API中有一个应用程序,我可以使用OAUTH在我的系统上验证帐户。它运作得很好。
但是,此令牌会在几分钟后过期。 API中有一些名为refresh token的东西,它在第一次验证后返回。它必须完全用于刷新我的令牌并让我访问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和密钥以及密钥,在我的代码中更改了它们,结果是相同的。我有最微弱的线索,如果继续下去。是否发生在某人身上
答案 0 :(得分:0)
OAuth2.0 documentation on Google Developers最后一次更改发布于2月6日(截至2016年10月8日)(见本页底部)。我只能假设他们最近对工作流程做了一些更改,这可以解释为什么你的应用程序突然停止工作。
我注意到,例如,用于续订令牌的文档化网址不是https://accounts.google.com/o/oauth2/token
,而是https://www.googleapis.com/oauth2/v4/token
,而是display: flex;
(请参阅"使用刷新令牌&#34 )。请尝试使用此网址。