2

アプリのユーザーがファイルをアップロード/ダウンロードできるアプリがあります。ファイルをアップロードするたびに承認する必要はありません。そのため、サービス アカウントがその解決策であり、まさに私が探していたものであることがわかりました。このページの指示に従いました。

https://developers.google.com/drive/service-accounts

すべて問題なく動作しますが、問題は制限です。つまり、5 GB しかありません。サービス アカウント用に追加のストレージを購入する方法はありませんか (それはできないと言われていますが、確認したいだけです) )。資格情報、つまりアクセス トークンを保存し、有効期限が切れるたびにトークンを更新する Web サーバー フローを使用したくありません。私の問題の解決策はありますか?

4

3 に答える 3

0

サービス アカウントの Google ドライブではなく、自分の Google ドライブ アカウントにファイルを保存する解決策は、Google 開発者のコ​​ンソールでサービス アカウントに所有者権限を付与することです。

次に、個人の Google ドライブ内にフォルダーを作成し、そのフォルダーの ID を取得します。

サービスアカウントを使用してファイルをアップロードするときは、このようにアップロードするファイルの親IDとしてそのフォルダーのIDを必ず入力してください

    $file = new Google_Service_Drive_DriveFile();
      $file->title = "Automata";
    $parent = new Google_Service_Drive_ParentReference();
    $parent->setId('Your Folder id');
    $file->setParents(array($parent));
      $requestss = $drive_service->files->insert($file,array(
          'data' => $data,
          'mimeType' => 'application/pdf',
        ));

    $permission = new Google_Service_Drive_Permission();
    $permission->setRole( 'writer' );
    $permission->setType( 'anyone' );
    $permission->setValue( 'youraccount@gmail.com' );
    $drive_service->permissions->insert( $requestss->getId(), $permission ); 

サービス アカウント ドライブではなく、自分の Google ドライブにファイルをアップロードできるようになりました。

お役に立てれば

于 2016-02-20T11:32:15.260 に答える
-1

を見てみましょう:

https://developers.google.com/drive/service-accounts

サービス アカウントでは追加のストレージを購入できないため、代わりに通常の Google アカウントを使用する必要があります。

于 2013-01-21T13:02:33.433 に答える