利用 Data Portability API,您可以构建向用户请求授权,以便将 Google 服务中的数据副本移动到应用中的应用。这样可以实现数据可移植性并方便切换服务。
如需了解用户如何共享数据,请参阅与第三方分享您的数据副本。
前提条件
您的应用必须先获得 Google 批准,然后才能发布。
您还应验证 Data Portability API 是否对您所在位置的用户可以使用。如需查看受支持的国家和地区列表,请参阅“与第三方分享您的数据副本”页面上的常见问题。
开发者工作流程
下面介绍了创建使用 Data Portability API 的应用时要遵循的步骤。
为用户实现 OAuth 同意流程。在此示例中,用户提供了对 YouTube 视频数据的访问权限。
用户点击导入 YouTube 视频并登录其 Google 帐号。
应用将用户转到 OAuth 同意网址。请注意,此示例网址已经过简化,缺少一些参数:
https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube
用户点击 OAuth 同意屏幕上的下一步,同意共享其数据,并提供帐号访问权限。
用户被重定向到应用。
开发者获取用户的 OAuth 令牌。
您的应用使用包含此 OAuth 范围的附加 OAuth 令牌调用
InitiatePortabilityArchive(resources = ["myactivity.youtube"])
:https://www.googleapis.com/auth/dataportability.myactivity.youtube
此调用会启动数据归档的创建过程。您应该在用户授权后的 24 小时内启动可移植性归档。
您的应用使用包含此 OAuth 范围的附加 OAuth 令牌调用
GetPortabilityArchiveState(job_id)
:https://www.googleapis.com/auth/dataportability.myactivity.youtube
您可以多次调用此方法,以检索归档作业的状态。该方法会返回作业的状态。如果状态为 COMPLETE,则表示归档文件已准备就绪,并且提供了已签名的 Cloud Storage 网址。请注意,完成归档请求所需的时间可能几分钟到几小时不等,具体取决于数据大小。
使用签名网址下载数据归档文件。
使用附加的 OAuth 令牌调用
ResetAuthorization()
以重置耗尽资源并移除所有 OAuth 同意。
如需详细了解如何使用 Data Portability API 方法,请参阅调用 Data Portability API 方法。
用户如何与 Data Portability API 应用交互
此图显示了用户如何与集成 Data Portability API 的应用进行交互。
首先,向用户显示一个用于检索数据的选项。
接下来,用户会登录自己的 Google 帐号。
然后,当系统提示用户分享其数据时,点击下一步;当系统提示用户接受隐私权政策时,点击知道了。
然后,向用户显示 OAuth 权限请求页面,用于允许应用访问用户的数据。此处的选项与您配置的 OAuth 范围一致。
授予访问权限后,系统就会开始导入数据。请求可能需要几分钟到几小时才能完成,具体取决于数据的大小。