ในการเริ่มต้นอย่างรวดเร็วนี้ คุณจะได้รับโทเค็น OAuth สำหรับบัญชีและส่งคำขอไปยังปลายทาง Data Portability API
สิ่งที่คุณเรียนรู้
ในการเริ่มต้นอย่างรวดเร็วนี้ คุณจะได้เรียนรู้วิธีต่อไปนี้
- ส่งคำขอที่ผ่านการตรวจสอบสิทธิ์ไปยังปลายทาง
InitiatePortabilityArchive
โดยระบุโทเค็น OAuth ที่ถูกต้อง การตอบกลับควรมีjob_id
ที่ถูกต้อง - ส่งคำขอที่ผ่านการตรวจสอบสิทธิ์แล้วไปยังปลายทาง
GetPortabilityArchiveState
การตอบกลับควรมีสถานะงานที่ถูกต้อง และ URL ที่ลงนามเมื่องานเสร็จสมบูรณ์แล้ว - (ไม่บังคับ) ส่งคำขอที่ตรวจสอบสิทธิ์แล้วพร้อมโทเค็น OAuth ที่ถูกต้องไปยังปลายทาง
InitiatePortabilityArchive
เป็นครั้งที่ 2 โดยใช้ข้อมูลเข้าสู่ระบบเดียวกัน การดำเนินการนี้จะแสดงข้อผิดพลาด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& include_granted_scopes=true& state=developer-specified-value
ใน URL:
client_id
คือรหัสไคลเอ็นต์ OAuth ของคุณredirect_uri
คือ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต เช่น https://google.com
โปรดสังเกตว่าขอบเขตที่ใช้ใน URL สำหรับการเริ่มต้นอย่างรวดเร็วนี้คือขอบเขตกิจกรรมการค้นหา คุณยังใช้ขอบเขตกิจกรรมใน YouTube หรือทั้ง 2 ขอบเขตได้ด้วย
วาง URL ลงในแถบที่อยู่ของเบราว์เซอร์ แล้วทำตามขั้นตอน OAuth ในขั้นตอนนี้ คุณต้องลงชื่อเข้าใช้บัญชีที่องค์กรของคุณเป็นเจ้าของหรือควบคุมอยู่ ซึ่งใช้สำหรับการเริ่มต้นใช้งานอย่างรวดเร็วนี้
นี่คือบัญชีที่ยินยอมให้ใช้ขอบเขต OAuth หน้าจอคำยินยอมควรมีลักษณะดังนี้ (ข้อความในหน้าจออาจแตกต่างจากข้อความในรูปภาพนี้)
หลังจากให้ความยินยอมแล้ว คุณควรส่งต่อไปยัง 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" }
รวบรวมโทเค็น 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 ของคุณ
หมายเหตุ: พารามิเตอร์
resources
ควรมีเฉพาะขอบเขต OAuth ที่ได้รับสิทธิ์เข้าถึงเท่านั้น ในตัวอย่างนี้ เราให้สิทธิ์เพียงmyactivity.search
เท่านั้น หากคุณรวมกลุ่มทรัพยากรเพิ่มเติม ระบบจะแสดงข้อผิดพลาดคำขอ
InitiatePortabilityArchive
แสดงผลjob_id
รหัสงานนี้จะใช้เพื่อเรียกสถานะของที่เก็บข้อมูล{ "archiveJobId": "<your_job_id>" }
หากคุณไม่ระบุโทเค็น 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ของงาน หากงานยังไม่สมบูรณ์ การตอบกลับจะระบุสถานะปัจจุบันของงาน คุณควรส่งคำขอไปยังปลายทางนี้เป็นระยะจนกว่างานจะเสร็จสมบูรณ์
{ "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": "Resource has been exhausted (check quota).", "status": "RESOURCE_EXHAUSTED" }
ส่งคำขอที่ผ่านการตรวจสอบสิทธิ์แล้วไปยังปลายทาง
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" }