当用户点击 Google 云端硬盘界面的“新建”按钮并在 Google 云端硬盘界面中选择某个应用时,Google 云端硬盘会将用户重定向到配置 Google 云端硬盘界面集成中定义的该应用的新网址。
然后,您的应用会在 state
参数中接收一组默认的模板变量。新网址的默认 state
信息如下:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
此输出包括以下值:
create
:正在执行的操作。当用户点击 Drive 界面的“新建”按钮时,此值为create
。- FOLDER_ID:父级文件夹的 ID。
- FOLDER_RESOURCE_KEY:父文件夹的资源键。
- USER_ID:唯一标识用户的个人资料 ID。
您的应用必须按以下步骤处理此请求:
- 验证
action
字段是否具有值create
。 - 使用
userId
值为用户创建新会话。如需详细了解已登录用户,请参阅用户和新事件。 - 使用
files.create
方法创建文件资源。如果请求中设置了folderId
,请将parents
字段设置为folderId
值。 - 如果请求中设置了
folderResourceKey
,请设置X-Goog-Drive-Resource-Keys
请求标头。如需详细了解资源键,请参阅使用资源键访问通过链接共享的文件。
state
参数采用网址编码,因此您的应用必须处理转义字符并将其解析为 JSON。
用户和新事件
云端硬盘应用应将所有“create”事件都视为潜在登录。某些用户可能拥有多个账号,因此 state
参数中的用户 ID 可能与当前会话不匹配。如果 state
参数中的用户 ID 与当前会话不匹配,请结束应用的当前会话,然后以请求的用户身份登录。