ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะได้รับโทเค็น OAuth สําหรับบัญชี และส่งคําขอตามรอบไปยังปลายทาง Data Portability API
บทแนะนำเริ่มต้นนี้ครอบคลุมวิธีใช้ Data Portability API เพื่อเข้าถึงข้อมูลผู้ใช้ตามเวลา สําหรับสิทธิ์เข้าถึงข้อมูลผู้ใช้แบบครั้งเดียว โปรดดูหัวข้อเริ่มใช้ Data Portability API ดูวิธีใช้ตัวกรองเวลากับคำขอได้ที่ใช้ตัวกรองเวลา
สิ่งที่คุณเรียนรู้
ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะได้เรียนรู้วิธีต่อไปนี้
- ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง InitiatePortabilityArchiveโดยระบุโทเค็น OAuth ที่ถูกต้อง การตอบกลับควรมีjob_idที่ถูกต้อง
- ส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง GetPortabilityArchiveStateการตอบกลับควรมีสถานะงานที่ถูกต้อง และ URL ที่เซ็นชื่อเมื่องานเสร็จสมบูรณ์
- ส่งคำขอที่ตรวจสอบสิทธิ์แล้วซึ่งมีโทเค็น OAuth ที่ถูกต้องไปยังปลายทาง InitiatePortabilityArchiveอีกครั้งโดยใช้ข้อมูลเข้าสู่ระบบเดียวกัน ซึ่งจะแสดงข้อผิดพลาดFAILED_PRECONDITIONเมื่อส่งคำขอภายใน 24 ชั่วโมงนับจากคำขอแรก
ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้การเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณต้องดำเนินการดังนี้
- ตรวจสอบว่า Data Portability API พร้อมให้บริการแก่ผู้ใช้ในพื้นที่ของคุณ ดูรายชื่อประเทศและภูมิภาคที่รองรับได้ที่คำถามที่พบบ่อยในหน้า "แชร์สำเนาข้อมูลกับบุคคลที่สาม"
- ทําตามขั้นตอนการตั้งค่าสําหรับ Data Portability API ให้เสร็จสมบูรณ์
- ทำตามขั้นตอนเพื่อกำหนดค่า OAuth สำหรับเว็บแอปฝั่งเซิร์ฟเวอร์
- เมื่อสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์ ให้จดบันทึกรหัสไคลเอ็นต์ OAuth 2.0, รหัสลับไคลเอ็นต์ และ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต (เช่น https://google.com) คุณต้องใช้ข้อมูลดังกล่าวในภายหลังในการเริ่มต้นใช้งาน
- เมื่อคุณกําหนดค่าขอบเขตสําหรับ Data Portability API โปรดทราบว่าการเริ่มต้นใช้งานอย่างรวดเร็วนี้ใช้myactivity.searchกลุ่มทรัพยากร https://www.googleapis.com/auth/dataportability.myactivity.search
- เมื่อเลือกระยะเวลาที่ต้องการอนุญาตให้เข้าถึง คุณควรเลือก 30 วัน เพื่อทดสอบการเข้าถึงตามเวลา
 
- รับโทเค็น OAuth
- รับสิทธิ์เข้าถึงบัญชีที่องค์กรของคุณเป็นเจ้าของหรือควบคุม ระบบจะส่งออกข้อมูลกิจกรรมการค้นหาของบัญชีนี้ในการเริ่มต้นใช้งานด่วนนี้
รับโทเค็น OAuth
ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ คุณจะส่งคําขอการให้สิทธิ์เพื่อรับโทเค็น OAuth โดยใช้ URL กระบวนการนี้ใช้ขั้นตอนสําหรับเว็บแอปฝั่งเซิร์ฟเวอร์ ขั้นตอนนี้จะสร้างโทเค็นรีเฟรชที่คุณสามารถใช้สำหรับการส่งออกครั้งต่อๆ ไปได้
วิธีรับโทเค็น OAuth
- เขียน URL ดังต่อไปนี้ - https://accounts.google.com/o/oauth2/v2/auth? client_id=client_id& redirect_uri=redirect_uri& response_type=code& access_type=offline& 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 วัน) ในการเริ่มต้นใช้งานอย่างรวดเร็วนี้ ให้เลือก30 วัน 
- หลังจากให้ความยินยอมและตัดสินใจเกี่ยวกับระยะเวลาการเข้าถึงแล้ว ระบบควรส่งต่อคุณไปยัง URI เปลี่ยนเส้นทาง https://google.com โดย URL ที่สร้างขึ้นในแถบที่อยู่จะมีรหัสการให้สิทธิ์ที่คุณนำไปแลกเป็นโทเค็น OAuth ในขั้นตอนถัดไป - ตัวอย่างเช่น หากบัญชีผู้ใช้ให้สิทธิ์เข้าถึง OAuth แก่ขอบเขต - dataportability.myactivity.searchURL ที่สร้างขึ้นจะมีลักษณะดังนี้- https://google.com/#state=developer-specified-value&code=your_auth_code&scope=https://www.googleapis.com/auth/dataportability.myactivity.search 
- หากต้องการเปลี่ยนรหัสการให้สิทธิ์เป็นโทเค็นการเข้าถึง ให้เรียกใช้ปลายทางโทเค็น OAuth ด้วยข้อมูลต่อไปนี้ - curl https://oauth2.googleapis.com/token\ -H 'Content-Type: application/x-www-form-urlencoded' -X POST\ -d 'code=your_auth_code&\ redirect_uri=redirect_uri\ client_id=client_id&\ client_secret=client_secret&\ grant_type=authorization_code' - การตอบกลับควรมีลักษณะดังนี้ - { "access_token": your_OAuth_token, "expires_in": 3920, "token_type": "Bearer", "scope": "https://www.googleapis.com/auth/dataportability.myactivity.search", "refresh_token": your_refresh_token, "refresh_token_expires_in": 2591999 } - ใน URL your_OAuth_token คือสตริงที่แสดงถึงโทเค็น - ช่อง - refresh_token_expires_inจะแสดงเป็นวินาทีและจะระบุว่าผู้ใช้เลือกการเข้าถึง 30 วัน (2592000 วินาที) หรือ 180 วัน (15552000 วินาที) หากแอปมีสถานะการเผยแพร่เป็นการทดสอบ คุณจะมีสิทธิ์เข้าถึงเป็นเวลา 7 วัน (604800 วินาที) แทน โดยไม่คำนึงถึงการเลือกของผู้ใช้
- หากต้องการตรวจสอบโทเค็น 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_TIME_BASED" }- หากระบุโทเค็น 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 ที่ลงนามแล้วลงในเบราว์เซอร์เพื่อดาวน์โหลดไฟล์เก็บถาวรของข้อมูล คุณควรตรวจสอบเนื้อหาของไฟล์เก็บถาวรเพื่อให้แน่ใจว่ามีข้อมูลกิจกรรมการค้นหาที่คาดไว้ - หากได้รับสถานะ - FAILEDในการตอบกลับ คุณสามารถลองส่งออกอีกครั้งโดยใช้วิธีการ- RetryPortabilityArchive
- พิมพ์คำสั่งก่อนหน้าซ้ำเพื่อส่งคำขอที่ตรวจสอบสิทธิ์แล้วไปยังปลายทาง - 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. You can initiate another export after #{timestamp_after_24hrs}.", "status": "RESOURCE_EXHAUSTED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "RESOURCE_EXHAUSTED_TIME_BASED", "domain": "dataportability.googleapis.com" "metadata": { "previous_job_ids": "#{previous_job_ids}" "access_type": "ACCESS_TYPE_TIME_BASED" "timestamp_after_24hrs": "#{timestamp_after_24hrs}" ...
- หลังจากผ่านไป 24 ชั่วโมง คุณจะขอการส่งออกใหม่ได้ แต่ก่อนอื่นคุณต้องแลกโทเค็นการรีเฟรชเป็นโทเค็นการเข้าถึงใหม่ - curl https://oauth2.googleapis.com/token\ -H 'Content-Type: application/x-www-form-urlencoded' -X POST\ -d 'refresh_token=your_refresh_token&\ client_id=client_id&\ client_secret=client_secret&\ grant_type=refresh_token' - การตอบกลับควรมีลักษณะดังนี้ - { "access_token": your_OAuth_token, "expires_in": 3920, "token_type": "Bearer", "scope": "https://www.googleapis.com/auth/dataportability.myactivity.search", "refresh_token_expires_in": 2505599 } - หากผู้ใช้ต่ออายุสิทธิ์เข้าถึง เวลาหมดอายุใหม่จะแสดงในช่อง - refresh_token_expires_in- คุณสามารถใช้โทเค็นการเข้าถึงใหม่เพื่อทําตามขั้นตอน - InitiatePortabilityArchiveและ- GetPortabilityArchiveStateซ้ำได้