2

親が指定されていない場合、デフォルトでルートフォルダーに作成されるファイルオブジェクトを作成するプログラムを作成しました。次に、ファイルの親の ID を指定して、ルート フォルダーを取得します。

何らかの奇妙な理由で、これが機能しなくなりました。ルート フォルダーを返す代わりに、File Not Found エラーが発生します。何か案は?

ありがとう

アップデート

file_id として「root」を渡してファイルを取得しようとしましたが、同じエラーが発生しました。

Get File By ID Error: File not found: 0AFrTA6Qc9-_TU9PVA

以下、使用した関数

def get_file_by_id session, file_id
  drive = session.discovered_api("drive", "v2")
  result = session.execute api_method: drive.files.get, parameters: {'fileId' => file_id}
  if result.status == 200
    return result.data
  else
    raise "Get File By ID Error: #{result.data['error']['message']}"
  end
end

ただし、ルート以外の ID で他のファイルを取得することはできます。

4

1 に答える 1

5

コードを見ないと、何が間違っているのかわかりません。しかし、ユーザーのルート フォルダーを取得する方法は、実際に行っている方法よりもはるかに簡単です。

特別な「ルート」ID を使用して、現在のユーザーのルート フォルダーを参照できます。

GET https://www.googleapis.com/drive/v2/files/root

これにより、ルート フォルダーに関する情報が返されます。about コレクションにもあります。

更新: ルート フォルダーに関する詳細は、 https://www.googleapis.com/auth/driveスコープを使用してのみ取得できます。ファイル スコープを使用する場合、アプリによるアクセスを承認するためにドライブ UI またはピッカーからルート フォルダーを「開く」方法はありません。

于 2012-07-27T18:01:41.480 に答える