Untuk mengonfigurasi OAuth bagi aplikasi, Anda menyiapkan alur kerja OAuth, dan mengaktifkan cakupan OAuth Data Portability API.
Menyiapkan alur kerja OAuth
Untuk menyiapkan alur OAuth bagi aplikasi Anda, ikuti langkah-langkah dasar dalam dokumentasi Google Identity.
Sebagian besar developer menggunakan alur Aplikasi Web Sisi Server untuk mendapatkan izin OAuth, tetapi Anda juga dapat menggunakan alur Aplikasi Web JavaScript atau alur Aplikasi Seluler dan Desktop.
Ekspor dapat memerlukan waktu lebih lama dari masa berlaku token akses, atau pengguna dapat memberikan akses selama 30 atau 180 hari. Anda mungkin perlu mendapatkan token refresh dan menukarnya secara berkala dengan token akses baru. Untuk mengetahui detail selengkapnya, lihat Memuat ulang token akses untuk Aplikasi Web dan Memuat ulang token akses untuk Aplikasi Seluler dan Desktop.
Penting: Perpanjangan token OAuth hanya tersedia untuk pengguna jika klien OAuth Anda memiliki status publikasi Dalam produksi, bukan Pengujian. Selain itu, token yang diberikan kepada klien OAuth dengan status publikasi Pengujian selalu berakhir dalam 7 hari meskipun Anda memilih durasi 30 atau 180 hari. Untuk mengetahui detailnya, lihat Menyiapkan layar izin OAuth.
Cakupan OAuth Data Portability API
Saat Anda mengonfigurasi aplikasi Data Portability API untuk OAuth, aktifkan cakupan OAuth Data Portability API yang relevan dengan aplikasi Anda. Beberapa cakupan
adalah sensitive
dan restricted
serta tunduk pada persyaratan tambahan.
Saat Anda menambahkan cakupan Data Portability API ke alur OAuth, mungkin ada kasus saat pengguna memberikan izin ke beberapa, tetapi tidak semua, cakupan. Aplikasi Anda harus dapat menangani kasus ini dengan:
- Mengizinkan ekspor data sebagian
- Memberi tahu pengguna bahwa mereka tidak memilih semua cakupan yang diperlukan (dan gagal dengan baik)
- Meminta izin yang tersisa kepada pengguna
Selain itu, pengguna dapat memilih apakah akan memberi Anda akses ke datanya sekali, atau selama 30 atau 180 hari.
- Jika pengguna memberi Anda akses satu kali, aplikasi Anda diizinkan untuk melakukan satu ekspor data untuk izin tertentu tersebut. Untuk mendownload data lagi, Anda memerlukan izin baru dari pengguna.
- Jika pengguna memberi Anda akses berbasis waktu, aplikasi Anda diizinkan untuk melakukan ekspor data selama jangka waktu yang ditentukan atau hingga pengguna mencabut izin.
- Anda juga dapat memilih untuk menerapkan filter waktu ke permintaan Anda untuk mengekspor data selama jangka waktu tertentu, seperti 6 bulan terakhir.
Anda juga harus memperhatikan bahwa selama alur OAuth, aplikasi Anda tidak mengetahui Akun Google mana yang digunakan untuk memberikan izin. Token OAuth yang diterima aplikasi Anda adalah tersembunyi.
Jika Anda mencari informasi tentang cara pengguna membagikan data, lihat Membagikan salinan data Anda kepada pihak ketiga.
Pembatasan cakupan
Bagian ini membahas batasan dalam cakupan yang menyebabkan error.
Cakupan campuran
Permintaan untuk cakupan Data Portability API (seperti, https://www.googleapis.com/auth/dataportability.*) tidak dapat digabungkan dengan cakupan lain (seperti, https://www.googleapis.com/auth/userinfo.email). Berikut adalah contoh permintaan buruk, dengan bagian yang dibatasi dicetak tebal:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false
Cakupan yang sebelumnya diberikan
Anda tidak boleh menetapkan include_granted_scopes=true
saat meminta cakupan DPAPI.
Berikut adalah contoh permintaan yang buruk, dengan bagian yang dibatasi dicetak tebal:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true
Terlalu banyak cakupan
Jika permintaan Anda memiliki terlalu banyak cakupan yang ditambahkan, Anda mungkin akan mengalami error 400 bad request
. Hal ini terjadi jika panjang URL melebihi yang
didukung di browser. Untuk mengatasinya, bagi permintaan cakupan Anda menjadi beberapa
batch yang lebih kecil dan gunakan Otorisasi inkremental untuk meminta
izin untuk setiap batch.
Kategori cakupan
Untuk daftar semua cakupan OAuth yang didukung oleh Data Portability API dan kategorinya, lihat Cakupan OAuth yang tersedia. Untuk daftar semua grup resource dan cakupan OAuth yang didukung oleh layanan tertentu, lihat halaman referensi skema untuk layanan tersebut.