6

この例から。フォルダーの作成でMediafileUploadを使用できますか?どうすればparent_idを取得できますか?

https://developers.google.com/drive/folderから

mime = "application / vnd.google-apps.folder"を使用する必要があることはわかっていますが、このチュートリアルをPythonでのプログラミングに実装するにはどうすればよいですか?

ご提案ありがとうございます。

4

3 に答える 3

20

ドライブにフォルダを作成するには、次のことを試してください。

    def createRemoteFolder(self, folderName, parentID = None):
        # Create a folder on Drive, returns the newely created folders ID
        body = {
          'title': folderName,
          'mimeType': "application/vnd.google-apps.folder"
        }
        if parentID:
            body['parents'] = [{'id': parentID}]
        root_folder = drive_service.files().insert(body = body).execute()
        return root_folder['id']

別のフォルダ内にフォルダを作成する場合にのみ、ここで親IDが必要です。それ以外の場合は、その値を渡さないでください。

親IDが必要な場合は、ドライブでその場所にあるその親の名前のフォルダーを検索し(list()呼び出しを実行)、そのフォルダーのIDを取得するメソッドを作成する必要があります。


編集: APIのv3は、辞書ではなく、「親」フィールドのリストを使用することに注意してください。また、'title'フィールドがに変更され'name'insert()メソッドがに変更されましたcreate()。上記のコードは、v3では次のように変更されます。

    def createRemoteFolder(self, folderName, parentID = None):
        # Create a folder on Drive, returns the newely created folders ID
        body = {
          'name': folderName,
          'mimeType': "application/vnd.google-apps.folder"
        }
        if parentID:
            body['parents'] = [parentID]
        root_folder = drive_service.files().create(body = body).execute()
        return root_folder['id']
于 2013-03-12T13:16:22.683 に答える
1

メディアファイルのアップロードは、コンテンツを挿入する場合にのみ必要です。メタデータを挿入したいだけなので (フォルダはメタデータのみ)、必要ありません。foder を表す JSON を含む通常の POST で十分です。

親 ID はいくつかの方法で取得できます。

  • 検索 (file.list エンドポイント)
  • inserting folder : これは、ID を含む、挿入されたフォルダーを表す JSON を返します。
  • Web UI を介して自分で取得します (ID はフォルダーまたはファイルの URL に含まれています): Web UI に移動し、必要なフォルダーまたはファイルを選択すると、URL で fileId を識別できます。ex :https://drive.google.com/#folders/0B8VrsrGIcVbrRDVxMXFWVkdfejQ
    ファイル ID は URL の最後の部分です。0B8VrsrGIcVbrRDVxMXFWVkdfejQ

プログラムで FileID を取得する方法:

  1. この既知の ID の子の ID を取得するには、既知の fileId を使用して children.list エンドポイントを使用します。
  2. google drive : files.list エンドポイントの検索機能を aq パラメータとともに使用します
  3. エイリアスを使用してください: Google ドライブで私が知っている唯一のものはroot、ドライブのルート フォルダー用です。

3. と 1. を使用すると、ドライブのすべての fileId を取得できます。

どうすればもっと明るくなれるのかわからない

于 2012-11-26T10:52:24.833 に答える