ユーザーが ドライブ UI の [新規] ボタンをクリックしてドライブ UI でアプリを選択すると、ドライブはユーザーを、ドライブ UI の統合を設定するで定義されたアプリの新規 URL にリダイレクトします。
アプリは、state パラメータ内でテンプレート変数のデフォルト セットを受け取ります。新しい URL のデフォルトの state 情報は次のとおりです。
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
この出力には次の値が含まれます。
create: 実行中のアクション。ユーザーが ドライブの UI の [新規] ボタンをクリックすると、値は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 パラメータは URL エンコードされているため、アプリはエスケープ文字を処理して JSON として解析する必要があります。
ユーザーと新しいイベント
ドライブ アプリは、すべての「作成」イベントを潜在的なログインとして扱う必要があります。一部のユーザーは複数のアカウントを持っている可能性があるため、state パラメータのユーザー ID が現在のセッションと一致しない場合があります。state パラメータのユーザー ID が現在のセッションと一致しない場合は、アプリの現在のセッションを終了し、リクエストされたユーザーとしてログインします。