當使用下面的代碼來嘗試列出了我剛剛成立了一個全新的Gmail帳戶收到的消息,我得到無法listUserMessages() - 500後端錯誤
[Google_Service_Exception] Error calling GET https://www.googleapis.com/gmail/v1/users/myGmailAccount%40gmail.com/messages: (500) Backend Error
我知道驗證部分正常工作,因爲我可以對this example中顯示的內容進行小修改並查詢書籍API。下面是我用來嘗試查詢最近收到的消息我已經授權給Gmail的訪問API的代碼...
const EMAIL = '[email protected]';
private $permissions = [
'https://www.googleapis.com/auth/gmail.readonly'
];
private $serviceAccount = '[email protected]';
/** @var Google_Service_Gmail */
private $gmail = null;
/** @var null|string */
private static $serviceToken = null;
public function __construct()
{
$client = new Google_Client();
$client->setApplicationName($this->applicationName);
$this->gmail = new Google_Service_Gmail($client);
//authentication
if (isset(self::$serviceToken)) {
$client->setAccessToken(self::$serviceToken);
}
$credentials = new Google_Auth_AssertionCredentials(
$this->serviceAccount,
$this->permissions,
$this->getKey()
);
$client->setAssertionCredentials($credentials);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($credentials);
}
self::$serviceToken = $client->getAccessToken();
}
public function getMessages()
{
$this->gmail->users_messages->listUsersMessages(self::EMAIL);
}
:
500讓我相信這是一個內部錯誤gmail API或我錯過了PHP客戶端未驗證的內容。
我已經登錄到Web界面中找到。 API資源管理器正常工作。列表標籤拋出相同的錯誤。我會給另一個用戶一個嘗試....客戶端ID:10391 – Webnet 2014-10-06 18:05:48
我嘗試使用其他用戶並遇到相同的錯誤。 – Webnet 2014-10-06 18:16:50
當您使用上面鏈接的APIs瀏覽器站點爲用戶時,情況如何?你能否在開發者控制檯確認你的認證設置?例如在「API> Credentials」中檢查oauth2,客戶端類型等,並確保您在「API> Consent Screen」上設置了項目名稱和電子郵件。 – 2014-10-06 20:38:37