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

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

Linda Hamilton
Linda Hamiltonasal
2024-10-24 11:02:02987semak imbas

How to Resolve

Gmail REST API: Menyelesaikan Ralat "400 Permintaan Buruk Gagal Prasyarat"

Untuk komunikasi pelayan-ke-pelayan menggunakan Gmail REST API, anda mungkin menghadapi ralat "400 Permintaan Buruk Gagal Prasyarat". Berikut ialah penjelasan terperinci tentang isu tersebut dan cara menyelesaikannya:

Punca:

Ralat "Prasyarat Gagal" menunjukkan bahawa prasyarat untuk permintaan tidak dipenuhi. Khususnya, ralat ini berlaku apabila:

  • Kelayakan untuk akaun perkhidmatan digunakan dalam domain Google Apps, tetapi akaun perkhidmatan belum diberikan kuasa seluruh domain untuk mengakses data pengguna.

Langkah untuk Penyelesaian:

  1. Dayakan Kuasa Seluruh Domain untuk Akaun Perkhidmatan:

    • Log masuk ke konsol pentadbir domain Google Apps.
    • Navigasi ke Keselamatan > Tetapan Lanjutan > Urus Akses Pelanggan API.
    • Tampal ID Pelanggan akaun perkhidmatan ke dalam medan "Nama Pelanggan".
    • Berikan akses penuh dengan memasukkan skop berikut ke dalam "Skop API" medan:

      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
  2. Buat Bukti Kelayakan Menggunakan Token Pelayan:

    • Gunakan yang berikut kod untuk mencipta objek 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>
    • Gantikan ruang letak dengan nilai berikut:

      • serviceAccountUserEmail: Alamat e-mel akaun perkhidmatan.
      • SERVER_P12_SECRET_PATH: Laluan ke fail P12 yang mengandungi kunci peribadi.
      • SKOP: Tatasusunan skop API Gmail.
  3. Buat Perkhidmatan Gmail:

    • Gunakan kod berikut untuk mencipta objek perkhidmatan Gmail:

      <code class="java">Gmail gmailService = new Gmail.Builder(httpTransport,
                                              jsonFactory,
                                              credential)
                                     .setApplicationName(APP_NAME)
                                     .build();</code>

Dengan mengikut langkah ini, anda boleh memastikan bahawa akaun perkhidmatan anda mempunyai kebenaran yang diperlukan untuk mengakses data pengguna dalam domain Google Apps dan menyelesaikan ralat "400 Permintaan Buruk Gagal Prasyarat".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"400 Permintaan Buruk Gagal Prasyarat\" dalam Gmail REST API?. 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