我試圖使用最新版本的google-api-php-client獲取訪問令牌(看看https://github.com/google/google-api-php-client),而我「M下面這個官方文檔: https://developers.google.com/api-client-library/php/guide/aaa_oauth2_webGoogle_Auth_Exception:獲取OAuth2訪問令牌時出錯,message:'invalid_request'
唯一的區別是,我想使用該服務Google_Service_Plus
,而不是Google_Service_Urlshortener
。
基本上我做這些步驟:
- 我初始化在谷歌客戶
$client
指定的客戶端ID,客戶端密鑰,開發重點,範圍和重定向URI(指向我的本地的Ubuntu 12.04 - PHP 5.3。 10)。 - 我使用Google客戶端
$client
初始化Google Plus服務$plus
。 - 我使用
$client->createAuthUrl()
將用戶重定向到驗證URL。 - 用戶可以看到同意頁面並接受。
- 我獲得授權代碼
$_GET['code']
用於令牌交換。 - 然後,在回調頁面中,我嘗試做
$client->authenticate($_GET['code']);
,但Google服務器返回HTTP 400,我得到一個Google_Auth_Exception: Error fetching OAuth2 access token, message: 'invalid_request'
。
流程在這裏打破。
有什麼問題?
任何幫助將不勝感激。
在此先感謝,
Niccolò。
這正是我的問題。由於我使用'server-side-flow',因此redirectUri必須設置爲「'postmessage'」。然後,瞧! –
'postmessage'是什麼意思? @CJThompson – briankip