ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะได้รับโทเค็น OAuth สําหรับบัญชี และส่งคําขอแบบครั้งเดียวไปยังปลายทาง Data Portability API
บทแนะนำฉบับย่อนี้จะอธิบายวิธีใช้ Data Portability API เพื่อเข้าถึงข้อมูลผู้ใช้แบบครั้งเดียว หากต้องการเข้าถึงข้อมูลผู้ใช้อย่างต่อเนื่อง โปรดดูหัวข้อใช้การเข้าถึงตามเวลา หากต้องการดูวิธีใช้ตัวกรองเวลากับคำขอ โปรดดูหัวข้อใช้ตัวกรองเวลา
สิ่งที่คุณเรียนรู้
ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะได้เรียนรู้วิธีต่อไปนี้
- ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง
InitiatePortabilityArchive
โดยระบุโทเค็น OAuth ที่ถูกต้อง การตอบกลับควรมีjob_id
ที่ถูกต้อง - ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง
GetPortabilityArchiveState
การตอบกลับควรมีสถานะงานที่ถูกต้อง และ URL ที่เซ็นชื่อเมื่องานเสร็จสมบูรณ์ - (ไม่บังคับ) ส่งคําขอที่ตรวจสอบสิทธิ์แล้วซึ่งมีโทเค็น OAuth ที่ถูกต้องไปยังปลายทาง
InitiatePortabilityArchive
อีกครั้งโดยใช้ข้อมูลเข้าสู่ระบบเดียวกัน ซึ่งจะแสดงข้อผิดพลาดRESOURCE_EXHAUSTED
และมีไว้เพื่อเน้นความสำคัญของปลายทางResetAuthorization
- ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง
ResetAuthorization
คำขอนี้จะเพิกถอนขอบเขต OAuth ทั้งหมดที่ผู้ใช้ให้สิทธิ์ - (ไม่บังคับ) ส่งคําขอไปยังปลายทาง
InitiatePortabilityArchive
โดยใช้โทเค็น OAuth เดียวกันกับที่ใช้ก่อนหน้านี้ คำขอควรดำเนินการไม่สำเร็จหลังจากรีเซ็ตการให้สิทธิ์
ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้การเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณต้องดำเนินการดังนี้
- ตรวจสอบว่า Data Portability API พร้อมให้บริการแก่ผู้ใช้ในพื้นที่ของคุณ ดูรายชื่อประเทศและภูมิภาคที่รองรับได้ที่คำถามที่พบบ่อยในหน้า "แชร์สำเนาข้อมูลกับบุคคลที่สาม"
- ทําตามขั้นตอนการตั้งค่าสําหรับ Data Portability API ให้เสร็จสมบูรณ์
- ทำตามขั้นตอนเพื่อกำหนดค่า OAuth สำหรับเว็บแอป JavaScript ในเวอร์ชันที่ใช้งานจริง คุณมักจะใช้ขั้นตอนอื่น เช่น ขั้นตอน OAuth สำหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์
คู่มือเริ่มต้นฉบับย่อนี้ใช้ขั้นตอนของเว็บแอป JavaScript เพื่อให้เข้าใจง่าย
- เมื่อสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์ ให้จดรหัสไคลเอ็นต์ OAuth 2.0 และ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต (เช่น https://google.com) คุณต้องใช้รหัสดังกล่าวในภายหลังในคู่มือเริ่มต้นใช้งาน
- เมื่อคุณกําหนดค่าขอบเขตสําหรับ Data Portability API โปรดทราบว่าการเริ่มต้นใช้งานอย่างรวดเร็วนี้ใช้
myactivity.search
กลุ่มทรัพยากร https://www.googleapis.com/auth/dataportability.myactivity.search - เมื่อคุณเลือกระยะเวลาที่ต้องการอนุญาตให้เข้าถึง ฟีเจอร์เริ่มต้นใช้งานด่วนนี้จะใช้สิทธิ์เข้าถึงแบบครั้งเดียว
- รับโทเค็น OAuth
- รับสิทธิ์เข้าถึงบัญชีที่องค์กรของคุณเป็นเจ้าของหรือควบคุม ระบบจะส่งออกข้อมูลกิจกรรมการค้นหาของบัญชีนี้ในการเริ่มต้นใช้งานด่วนนี้
รับโทเค็น OAuth
ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะส่งคําขอการให้สิทธิ์เพื่อรับโทเค็น OAuth โดยใช้ URL กระบวนการนี้ใช้ขั้นตอนสำหรับเว็บแอป JavaScript ขั้นตอนนี้จะไม่แสดงโทเค็นรีเฟรช
สําหรับแอปเวอร์ชันที่ใช้งานจริง โดยทั่วไปคุณควรใช้ขั้นตอน OAuth เพื่อรับโทเค็นรีเฟรชที่สามารถใช้สร้างโทเค็นการเข้าถึงได้ตามต้องการ ตัวอย่างของกรณีนี้คือขั้นตอนสำหรับเว็บแอปฝั่งเซิร์ฟเวอร์
วิธีรับโทเค็น OAuth
เขียน URL ดังต่อไปนี้
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& state=developer-specified-valueใน URL
client_id
คือรหัสไคลเอ็นต์ OAuth ของคุณredirect_uri
คือ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต เช่น https://google.com
โปรดทราบว่าขอบเขตที่ใช้ใน URL สําหรับการเริ่มต้นใช้งานฉบับย่อนี้คือขอบเขตกิจกรรมการค้นหา นอกจากนี้ คุณยังใช้ขอบเขตกิจกรรม YouTube หรือทั้ง 2 ขอบเขตก็ได้
วาง URL ในแถบที่อยู่ของเบราว์เซอร์ แล้วทำตามขั้นตอนในโฟลว์ OAuth ขั้นตอนนี้กำหนดให้คุณลงชื่อเข้าใช้บัญชีที่องค์กรเป็นเจ้าของหรือควบคุมอยู่ซึ่งคุณใช้สำหรับการเริ่มต้นใช้งานอย่างรวดเร็วนี้
บัญชีนี้เป็นบัญชีที่ให้ความยินยอมในขอบเขต OAuth หน้าจอขอความยินยอมควรมีลักษณะดังนี้ (ข้อความในหน้าจออาจแตกต่างจากข้อความในรูปภาพนี้)
เลือกขอบเขตที่จะให้สิทธิ์เข้าถึงและระยะเวลาในการแชร์สิทธิ์เข้าถึงข้อมูลของบัญชี (1 ครั้ง, 30 วัน หรือ 180 วัน) สำหรับการเริ่มต้นใช้งานอย่างรวดเร็วนี้ ให้เลือกเพียงครั้งเดียว
หลังจากให้ความยินยอมและเลือกระยะเวลาการเข้าถึงแล้ว ระบบจะส่งต่อคุณไปยัง URI การเปลี่ยนเส้นทาง ซึ่งก็คือ https://google.com URL ที่สร้างขึ้นในแถบที่อยู่จะมีโทเค็นการเข้าถึง OAuth
ตัวอย่างเช่น หากบัญชีผู้ใช้ให้สิทธิ์เข้าถึง OAuth แก่ขอบเขต
dataportability.myactivity.search
URL ที่สร้างขึ้นจะมีลักษณะดังนี้https://google.com/#state=developer-specified-value&access_token=
your_OAuth_token &token_type=Bearer&expires_in=3599&scope=https://www.googleapis.com/auth/dataportability.myactivity.searchใน URL your_OAuth_token คือสตริงที่แสดงถึงโทเค็น
หากต้องการตรวจสอบโทเค็น OAuth ให้วาง URL นี้ลงในเบราว์เซอร์
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=
your_OAuth_token การตอบกลับควรมีลักษณะดังนี้
{ "azp": <your_azp_value>, "aud": <your_aud_value>, "scope": "https://www.googleapis.com/auth/dataportability.myactivity.search", "exp": "1694210968", "expires_in": "3334", "access_type": "online" }
คุณไม่จำเป็นต้องใช้ช่อง
azp
หรือaud
เพื่อส่งคำขอ ช่องazp
จะแสดงclient_id
ของผู้นำเสนอที่ได้รับอนุญาต และช่องaud
จะระบุกลุ่มเป้าหมายที่โทเค็นนี้มีไว้สำหรับ ซึ่งจะเท่ากับรหัสไคลเอ็นต์รายการใดรายการหนึ่งสำหรับแอปพลิเคชันของคุณรวบรวมโทเค็น OAuth และคีย์ API คุณต้องใช้ข้อมูลเหล่านี้เพื่อเรียกใช้ Data Portability API
ส่งคําขอไปยังปลายทาง
ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะใช้คําสั่ง curl เพื่อเรียกใช้อุปกรณ์ปลายทาง Data Portability API คำสั่งเหล่านี้ต้องใช้โทเค็น OAuth และคีย์ API ที่คุณรวบรวมไว้ก่อนหน้านี้
วิธีเรียกใช้ Data Portability API
ขั้นแรก คุณต้องส่งคําขอที่ตรวจสอบสิทธิ์ไปยังปลายทาง
InitiatePortabilityArchive
คำขอนี้จะเริ่มต้นงานเก็บถาวรเรียกใช้คำสั่ง curl ต่อไปนี้
curl -H 'Authorization: Bearer
your_OAuth_token ' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiateในคําสั่ง
your_OAuth_token
คือโทเค็น OAuth ของคุณ
คำขอ
InitiatePortabilityArchive
จะแสดงผลjob_id
และaccessType
ระบบจะใช้รหัสงานเพื่อดึงสถานะของที่เก็บถาวรของข้อมูล และประเภทการเข้าถึงจะกำหนดว่าคุณได้รับสิทธิ์เข้าถึงข้อมูลแบบครั้งเดียวหรือแบบตามเวลา คุณควรมีสิทธิ์เข้าถึงแบบครั้งเดียวเพื่อวัตถุประสงค์ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้{ 'archiveJobId': '<your_job_id>' 'accessType': 'ACCESS_TYPE_ONE_TIME' }
หากระบุโทเค็น OAuth ที่ไม่ถูกต้อง ระบบจะแสดงข้อความแสดงข้อผิดพลาดนี้
Request had invalid authentication credentials. Expected OAuth 2.0 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.
จากนั้นส่งคําขอที่ตรวจสอบสิทธิ์ไปยังปลายทาง
GetPortabilityArchiveState
เพื่อดึงข้อมูลสถานะของงานเก็บถาวรเรียกใช้คำสั่ง curl ต่อไปนี้
curl -H 'Authorization: Bearer
your_OAuth_token ' -X GET \ -H "Content-Type: application/json; charset=utf-8" \ https://dataportability.googleapis.com/v1/archiveJobs/your_job_id /portabilityArchiveStateในคําสั่ง
your_OAuth_token
คือโทเค็น OAuth ของคุณyour_job_id
คือรหัสงานที่แสดงผลจากInitiatePortabilityArchive
คำขอ
การตอบกลับจะอิงตามสถานะของงาน หากงานยังไม่เสร็จสมบูรณ์ การตอบกลับจะแสดงสถานะปัจจุบัน คุณควรส่งคำขอไปยังปลายทางนี้เป็นระยะๆ จนกว่างานจะเสร็จสมบูรณ์
{ "state": "IN_PROGRESS" }
หากงานเสร็จสมบูรณ์ การตอบกลับจะมีสถานะและ URL ที่มีการเซ็นชื่ออย่างน้อย 1 รายการที่ใช้ดาวน์โหลดที่เก็บถาวรของข้อมูล
{ "state": "COMPLETE", "urls": [ "<signed_url>" ] }
วาง URL ที่ลงชื่อแล้วลงในเบราว์เซอร์เพื่อดาวน์โหลดไฟล์เก็บถาวรของข้อมูล คุณควรตรวจสอบเนื้อหาของไฟล์เก็บถาวรเพื่อให้แน่ใจว่ามีข้อมูลกิจกรรมการค้นหาที่คาดไว้
(ไม่บังคับ) ทำซ้ำคำสั่งก่อนหน้าเพื่อส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง
InitiatePortabilityArchive
curl -H 'Authorization: Bearer
your_OAuth_token ' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiateในคําสั่ง
your_OAuth_token
คือโทเค็น OAuth ของคุณ
การตอบกลับควรระบุว่าผู้ใช้รายนี้ใช้ความยินยอมแบบครั้งเดียวสำหรับแหล่งข้อมูล
myactivity.search
หมดแล้ว... "error": { "code": 429, "message": "Requested resources have already been exported. Please call ResetAuthorization and re-obtain consent before trying again.", "status": "RESOURCE_EXHAUSTED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "RESOURCE_EXHAUSTED_ONE_TIME", "domain": "dataportability.googleapis.com" "metadata": { "previous_job_ids": "{previous_job_ids}" "access_type": "ACCESS_TYPE_ONE_TIME" ...
ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง
ResetAuthorization
คำขอนี้จะเพิกถอนขอบเขต OAuth ที่ผู้ใช้ให้สิทธิ์ทั้งหมด และให้คุณเรียกใช้InitiatePortabilityArchive
สำหรับกลุ่มทรัพยากรที่คุณใช้ไปแล้วได้curl -H 'Authorization: Bearer
your_OAuth_token ' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ https://dataportability.googleapis.com/v1/authorization:resetในคําสั่ง
your_OAuth_token
คือโทเค็น OAuth ของคุณ
คำสั่งนี้จะแสดงผลลัพธ์ที่ว่างเปล่า
(ไม่บังคับ) หลังจากรีเซ็ตการให้สิทธิ์แล้ว ให้ส่งคําขออีกรายการไปยังปลายทาง
InitiatePortabilityArchive
ใช้คําสั่ง curl เดียวกับที่ใช้ก่อนหน้านี้curl -H 'Authorization: Bearer
your_OAuth_token ' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiateในคําสั่ง
your_OAuth_token
คือโทเค็น OAuth ของคุณ
การตอบกลับควรแสดงข้อผิดพลาดเนื่องจากมีการเพิกถอนโทเค็น OAuth ที่คุณให้ไว้
... "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" }