מבוא: פיתוח אפליקציות באמצעות Data Portability API

באמצעות Data Portability API אפשר ליצור אפליקציות שמבקשות מהמשתמשים הרשאה להעביר עותק של נתונים משירותי Google לאפליקציה. כך אפשר להעביר נתונים בקלות ולעבור בין שירותים.

מידע נוסף על האופן שבו משתמשים משתפים נתונים זמין במאמר שיתוף עותק של הנתונים שלכם עם צד שלישי.

דרישות מוקדמות

לפני שמפרסמים את האפליקציה, היא צריכה לקבל אישור מ-Google.

בנוסף, צריך לוודא ש-Data Portability API זמין למשתמשים במיקום שלכם. רשימה של המדינות והאזורים הנתמכים מופיעה בקטע שאלות נפוצות בדף 'שיתוף עותק של הנתונים שלכם עם צד שלישי'.

תהליך העבודה של המפתחים

אלה השלבים ליצירת אפליקציה שמשתמשת ב-Data Portability API.

השלבים שמפתחים מבצעים כדי ליצור אפליקציה באמצעות Data Portability API

  1. מטמיעים את תהליך ההסכמה של OAuth עבור המשתמש. בדוגמה הזו, המשתמש מספק גישה לנתוני סרטונים ב-YouTube.

    1. המשתמש לוחץ על ייבוא סרטונים מ-YouTube ונכנס לחשבון Google שלו.

    2. האפליקציה מפנה את המשתמש לכתובת URL של הסכמה ל-OAuth. שימו לב שכתובת ה-URL הזו היא פשוטה וחסר בהם פרמטרים מסוימים:

      https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube

    3. המשתמש לוחץ על הבא במסך ההסכמה של OAuth, מסכים לשתף את הנתונים שלו ומספק גישה לחשבון.

    4. המשתמש בוחר אילו נתונים לשתף ואת משך הזמן שבו לאפליקציה תהיה גישה לנתונים האלה (גישה חד-פעמית לנתונים או גישה מבוססת-זמן למשך 30 או 180 ימים), ואז לוחץ על המשך.

      הערה: למשתמשים יש אפשרות לחדש את הגישה שלכם לנתונים שלהם עד 90 יום לפני שתוקף אסימון ה-OAuth יפוג. הלחצן'חידוש' לא מופיע אם למשתמש אין היקפי הרשאה שתוקפם יפוג תוך 90 יום.

      הערה: אם המשתמש רוצה לעבור בין גישה חד-פעמית לבין גישה מבוססת-זמן, הוא יצטרך לעבור שוב את תהליך ההסכמה אחרי ביטול ההרשאה הקיימת. אפשר לבטל את ההענקה באמצעות resetAuthorization(), או שהמשתמש יכול לבטל אותה בדף החיבורים שלו.

    5. המשתמש יופנה לאפליקציה.

    6. המפתח מקבל אסימון OAuth עבור המשתמש.

  2. האפליקציה קוראת ל-InitiatePortabilityArchive(resources = ["myactivity.youtube"]) עם אסימון OAuth מצורף שמכיל את היקף הרשאות ה-OAuth הזה:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    הקריאה הזו מתחילה את תהליך יצירת הארכיון של הנתונים, ומקבלת בתגובה מזהה משימה ופרטים על כך שהמשתמש העניק גישה חד-פעמית או גישה מבוססת-זמן.

    הערה: גישה חד-פעמית מאפשרת ייצוא אחד לכל היקף. אם המשתמש מעניק כמה היקפי הרשאה, אפשר ליצור משימות נפרדות לכל אחד מהמשאבים שאושרו על ידי האסימון.

  3. האפליקציה שלכם קוראת ל-GetPortabilityArchiveState(job_id) עם אסימון OAuth מצורף שמכיל את היקף ההרשאות הזה של OAuth:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    אפשר לקרוא לשיטה הזו כמה פעמים כדי לאחזר את הסטטוס של משימת הארכיון. השיטה מחזירה את מצב המשימה. אם המצב הוא COMPLETE, הארכיון מוכן ומוצגות כתובות URL חתומות של Cloud Storage. לתשומת ליבכם: הזמן הנדרש להשלמת הבקשה להעברה לארכיון עשוי להשתנות מדקות לשעות, בהתאם לגודל הנתונים.

  4. מורידים את הארכיון של הנתונים באמצעות כתובות ה-URL החתומות.

  5. אם המשתמש מעניק גישה חד-פעמית, צריך לבצע קריאה ל-ResetAuthorization() עם אסימון OAuth מצורף כדי לאפס את המשאבים שהתרוקנו ולהסיר את כל ההסכמות ל-OAuth.

  6. אם המשתמש מעניק גישה מבוססת-זמן, אפשר לייצא משאבים כל 24 שעות עד שתוקף ההסכמה יפוג.

למידע נוסף על השימוש בשיטות של Data Portability API, ראו קריאה לשיטות של Data Portability API.

איך המשתמשים יוצרים אינטראקציה עם אפליקציה של Data Portability API

בתרשים הזה מוצגת האינטראקציה של המשתמשים עם אפליקציה שמשולבת עם Data Portability API.

השלבים שהמשתמש צריך לבצע כדי לייצא את הנתונים שלו

  1. קודם כל, המשתמש מקבל אפשרות לאחזר את הנתונים שלו.

  2. לאחר מכן, המשתמש נכנס לחשבון Google שלו.

  3. לאחר מכן, המשתמש לוחץ על הבא כשמתבקשת ממנו הסכמה לשיתוף הנתונים, ולוחץ על הבנתי כשמתבקשת ממנו הסכמה למדיניות הפרטיות.

  4. לאחר מכן, מוצג למשתמש מסך הסכמה ל-OAuth שמאפשר לאפליקציה לגשת לנתונים שלו. האפשרויות כאן תואמות להיקפי הרשאות OAuth שהגדרתם. המשתמש בוחר את הנתונים שרוצים לשתף ואת משך הזמן שבו לאפליקציה תהיה גישה לנתונים האלה (גישה חד-פעמית לנתונים או גישה מבוססת-זמן למשך 30 או 180 ימים), ואז לוחץ על המשך.

  5. אחרי שמאשרים את הגישה, ייבוא הנתונים מתחיל. בהתאם לגודל הנתונים, הטיפול בבקשה עשוי להימשך כמה דקות עד כמה שעות.