Rumah > Java > javaTutorial > 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
Lepaskan: 2024-10-24 11:02:02
asal
1063 orang telah melayarinya

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
      Salin selepas log masuk
  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>
      Salin selepas log masuk
    • 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>
      Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan