1
我正在實施對在PHP中的答案,對此,this question中已經轉換了代碼。如何使用Google Drive的REST API檢查訪問令牌是否有效?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=$access_token") ;
curl_setopt($ch, CURLOPT_PORT , 443) ;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ;
curl_setopt($ch, CURLOPT_HEADER, false) ;
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded")) ;
$response = curl_exec($ch) ;
error_log($response);
當我運行的代碼,但是,我得到:
HTTP/1.1 400 Bad Request
Vary: X-Origin
Content-Type: application/json; charset=UTF-8
Date: Wed, 06 Sep 2017 22:29:24 GMT
Expires: Wed, 06 Sep 2017 22:29:24 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Accept-Ranges: none
Vary: Origin,Accept-Encoding
Transfer-Encoding: chunked
{
"error": "unsupported_grant_type",
"error_description": "Invalid grant_type: "
}
我的後場是完全一樣的格式,因爲它們是在JavaScript的答案,甚至URL編碼,因爲他們不是在PHP中。我在Google's OAuth 2.0 Playground中打開了相同的刷新令牌,並且在嘗試刷新我的訪問令牌時收到相同的消息。
爲什麼不嘗試[PHP快速入門,而不是(https://developers.google.com/drive/v3/web/quickstart/php)?它有一個刷新令牌的樣本,當它過期時。 – noogui
@noogui這必須自動執行,據我所知PHP庫需要同意。 – NobleUplift
先試一試。 – noogui