来自PHP的Google身份验证
我知道这里有很多类似的问题,所以我尝试了几个小时的解决方案,但都不适合我。我总是收到一个来自PHP的Google身份验证,php,youtube,refresh,token,Php,Youtube,Refresh,Token,我知道这里有很多类似的问题,所以我尝试了几个小时的解决方案,但都不适合我。我总是收到一个{“错误”:“unauthorized_client”}“。我想通过编程刷新我的accesstoken以使用Youtube API。我已经获得了一个refreshtoken 这就是我想到的: $ch = curl_init(); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'client_secret' => '<mysecret>', 'gran
{“错误”:“unauthorized_client”}“
。我想通过编程刷新我的accesstoken以使用Youtube API。我已经获得了一个refreshtoken
这就是我想到的:
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'client_secret' => '<mysecret>',
'grant_type' => 'refresh_token',
'refresh_token' => '<my_refresh_token>',
'client_id' => '<my_client_id>.apps.googleusercontent.com',
'redirect_url'=>'<my_redirect_uri>'
));
curl_setopt($ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
echo var_dump(curl_exec($ch));
$ch=curl_init();
curl_setopt($ch,CURLOPT_POSTFIELDS,数组(
“客户机密”=>“”,
“授权类型”=>“刷新令牌”,
'刷新\u令牌'=>'',
'client_id'=>'.apps.googleusercontent.com',
'重定向\u url'=>'
));
curl_setopt($ch,CURLOPT_URL,'https://accounts.google.com/o/oauth2/token');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
echo var_dump(curl_exec($ch));
有什么问题吗?我认为您指示的URL和查询参数正确。如果用于生成新令牌的客户端id与用于获取刷新令牌的客户端id不同,则可能会出现此错误 可能会发生的一件事是,如果您使用Google的OAuth Playerd生成了一个access_令牌和refresh_令牌,然后尝试使用该refresh_令牌生成新令牌,这将不起作用。Google的OAuth Playerd使用不同的客户端ID来发出该请求,这肯定会导致“您记录的“未经授权的客户端”错误 Temboo为Google提供了一个非常简洁且易于使用的OAuth库。您可以在此处查看:
(完全披露:我在Temboo工作)PS:在这里获得一个新的代币很好:没有想法?我真的不知道它有什么错。。。