借助 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
您可以多次调用此方法来检索归档作业的状态。该方法会返回作业的状态。如果状态为“已完成”,则表示归档已完成,并且提供了签名的 Cloud Storage 网址。请注意,完成归档请求所需的时间可能从几分钟到几小时不等,具体取决于数据的大小。
使用签名网址下载数据归档文件。
使用附加的 OAuth 令牌调用
ResetAuthorization()
,以重置耗尽的资源并移除所有 OAuth 意见征求。
如需详细了解如何使用 Data Portability API 方法,请参阅调用 Data Portability API 方法。
用户如何与 Data Portability API 应用互动
此图显示了用户如何与集成了 Data Portability API 的应用互动。
首先,系统会向用户显示用于检索其数据的选项。
接下来,用户登录其 Google 账号。
然后,当系统提示共享数据时,用户点击下一步,并在提示接受隐私权政策时点击知道了。
然后,系统会向用户显示 OAuth 权限请求页面,用于允许应用访问其数据。此处的选项与您配置的 OAuth 范围一致。
允许访问后,系统会开始导入数据。请求可能需要几分钟到几小时才能完成,具体取决于数据的大小。