ラベル Google Drive の投稿を表示しています。 すべての投稿を表示
ラベル Google Drive の投稿を表示しています。 すべての投稿を表示

2021-11-30

Google Drive API:Requested entity was not found のエラーが出た時に考えること

 Androidアプリの開発で、ある特定のGoogleドライブ内のファイルを操作する(読み書きする)プログラムを実行すると、表題のように

  • Requested entity was not found
というエラーが出ることがあります。IDは間違っていません。これが意味することは何でしょうか?

認証スコープの設定を確認
Androidアプリ側から(今回の場合は、Flutter)SpreadSheetやDriveのファイルを操作するには認証とスコープの設定が必要になりますが、問題はこのスコープです。

[スコープ:https://www.googleapis.com/auth/drive.file]の意味
これは、このアプリで開いた、または作成したGoogleドライブのファイルとフォルダを表示および管理できます。言い換えると、Google Drive内にある既存のファイルを操作することはできません。表題のようなエラーは、このスコープの制限にひっかかった時に出てきますのでわかりにくいです。

フルアクセス[ https://www.googleapis.com/auth/drive]の意味
フルアクセスにすれば、上記のエラーはでませんが、Googleの認証を受けていない状態であれは、Warningメッセージがクライアントに出ることになります。



2016-08-24

GoogleDriveに保存した画像を直接URL参照する

GoogleDriveは、アプリケーションからもクラウドなファイルストレージとして利用できる側面があります。例えば、アプリケーションで画像ファイルを一時(または永続的に)保存する領域としてです。S3みたいな使い方ですね。
しかし、画像ファイルをURLアクセスで読み込むときには注意が必要です。例えば、GAS(Google App Scriptで)、ドライブに保存した画像ファイルのURLを getURLで取ってきた場合に
https://drive.google.com/file/d/XXXXXXXXXXXXXXXX
というのが入手できますが、このURLは真の画像のURLではありません。Google Appsとして表示するビュワーを含んでいます。

画像ファイルだけを入手する場合には、
http://drive.google.com/uc?export=view&id=XXXXXXX
とします。 上記XXXXXXはファイルのユニークIDです。