Gmail REST API:解決「400 Bad Request Failed Precondition」錯誤
對於使用Gmail REST API 的伺服器到通訊,您可能到伺服器會遇到「400 Bad Request Failed Precondition」錯誤。以下是該問題及其解決方法的詳細說明:
原因:
「前置條件失敗」錯誤表示未滿足請求的前置條件。具體來說,在以下情況下會出現此錯誤:
解決步驟:
啟用服務帳戶登入Google Apps 網域管理控制台。
https://mail.google.com https://www.googleapis.com/auth/gmail.compose https://www.googleapis.com/auth/gmail.modify https://www.googleapis.com/auth/gmail.readonly
使用下列內容建立GoogleCredential 物件的程式碼:
<code class="java">GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId(serviceAccountUserEmail) // requesting the token .setServiceAccountPrivateKeyFromP12File(new File(SERVER_P12_SECRET_PATH)) .setServiceAccountScopes(SCOPES) // see https://developers.google.com/gmail/api/auth/scopes .setServiceAccountUser("[email protected]") .build(); credential.refreshToken();</code>
serviceAccountUserEmail:服務帳戶的電子郵件地址。
使用以下程式碼建立郵件:
<code class="java">Gmail gmailService = new Gmail.Builder(httpTransport, jsonFactory, credential) .setApplicationName(APP_NAME) .build();</code>
以上是如何解決 Gmail REST API 中的「400 Bad Request Failed Precondition」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!