Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyelesaikan Masalah Ralat \"400 Permintaan Buruk Gagal Prasyarat\" dalam Gmail REST API Melalui Perkhidmatan API Java?

Bagaimana untuk Menyelesaikan Masalah Ralat \"400 Permintaan Buruk Gagal Prasyarat\" dalam Gmail REST API Melalui Perkhidmatan API Java?

DDD
DDDasal
2024-10-24 11:32:02964semak imbas

How to Troubleshoot

Gmail REST API: Menyelesaikan masalah "400 Bad Request Failed Pracondition" Ralat

Apabila cuba menghantar e-mel melalui Gmail REST API menggunakan Google Java Perkhidmatan API, anda mungkin menghadapi ralat "400 Permintaan Buruk Gagal Prasyarat". Isu ini boleh timbul jika bukti kelayakan atau konfigurasi tidak disediakan dengan betul.

Menyelesaikan Ralat

Untuk menyelesaikan isu ini, ikut langkah berikut:

1. Sahkan Kredensial

Pastikan objek GoogleCredential dibuat dengan betul menggunakan:

  • serviceAccountUserEmail: Alamat e-mel akaun perkhidmatan yang meminta token.
  • serviceAccountPrivateKeyFKeyF : Laluan ke fail kunci P12 akaun perkhidmatan.
  • serviceAccountScopes: Skop yang diperlukan untuk penggunaan API yang diingini.

2. Ubah suai Tetapan Domain Google Apps

  • Delegasikan Kuasa Seluruh Domain: Berikan akses akaun perkhidmatan kepada data pengguna dalam domain Google Apps dengan pergi ke:

    • Konsol pentadbir domain Google Apps > Keselamatan > Tetapan Lanjutan > Urus Akses Pelanggan API.
  • Tambah ClientID dan Skop:

    • Masukkan ClientID untuk akaun perkhidmatan anda dalam " Medan Nama Klien".
    • Dalam medan "Skop API", masukkan skop berikut:

      • 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

Kod Contoh

Berikut ialah contoh kod Java yang menggabungkan langkah-langkah ini:

<code class="java">// ...
// Create an HttpTransport
HttpTransport httpTransport = _createHttpTransport();

// Create a JSonFactory
JsonFactory jsonFactory = _createJsonFactory();

// Create a google credential
GoogleCredential credential = _createCredentialUsingServerToken(httpTransport, jsonFactory);

// Create a Gmail Service
Gmail gmailService = _createGmailService(httpTransport, jsonFactory, credential);</code>

Nota:

  • Pastikan medan serviceAccountUser ditetapkan kepada pengguna yang sah daripada domain Google Apps anda.
  • Fail kunci P12 mesti dijana untuk akaun perkhidmatan dan mempunyai kebenaran yang betul.

Dengan melengkapkan langkah ini, anda sepatutnya dapat menyelesaikan ralat "400 Permintaan Buruk Gagal Prasyarat" apabila menggunakan Gmail REST API.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Ralat \"400 Permintaan Buruk Gagal Prasyarat\" dalam Gmail REST API Melalui Perkhidmatan API Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn