2012-04-27 29 views
3

GoogleドライブAPIを現在学び、Qt C++(OAuth2を使用)でプログラムを開発しているので、クエリを作成する必要がありますが、その方法はわかりません。GET/POSTリクエストGoogleドライブAPI

たとえば、私が要求した場合 - https://www.googleapis.com/oauth2/v1/userinfo?access_token=MY_ACCESS_TOKEN、すべてが正常に動作しています - 私は返信を受け取ります。

質問:GoogleドライブのSIMILARリクエストを作成するにはどうすればよいですか。

1)どのように私は、フォルダやファイル

2のリストを取得することができます)どのように私はPOSTリクエスト 「HTTPSで、例えば、などのフォルダ/ファイル に

を作成することができます:// www.googleapis.com/drive/v1/files &タイトル=ペット& MIMEタイプ=アプリケーション/ vnd.google-apps.folder」

私は

取得 "エラー":{ "エラー":[{ "ドメイン": "グローバル"、 "理由": "ParseErrorです"、 "メッセージ": "エラー解析" } ]、 "コード":400、 "メッセージ" :「解析エラー」 }}

例えば、など、フォルダとファイルのリストを取得する方法は、私がどれ意見/例は歓迎されている

を理解していません!事前

答えて

3

感謝は残念ながら、ドライブのAPIを使用すると、フォルダやファイルを一覧表示できません。ファイルを取得する唯一の方法は、ドライブのウェブUIと統合するか、Google Pickerをユーザーに表示することです(ウェブアプリのみ)。

[ファイルIDを持っていたら、あなたは、単にdrive.files.get endpointに認可GETリクエストを送信することができます

GET https://www.googleapis.com/drive/v1/files/id 

insert a file (or a folder)するには、ファイルのメタデータがリクエストボディではなく、クエリパラメータとして含まれるようにします。上記の例で

POST https://www.googleapis.com/drive/v1/files 
Authorization: Bearer {ACCESS_TOKEN} 
Content-Type: application/json 
... 
{ 
    "title": "pets", 
    "parentsCollection": [{"id":"0ADK06pfg"}] 
    "mimeType": "application/vnd.google-apps.folder" 
} 

mimeTypeが挿入されているリソースがフォルダであることを指定します。ファイルを挿入するときにmimeTypeをアプリケーションのMIMEタイプに変更します。

+0

これは本当ですか?あなたはファイルをリストすることはできません? – Tony

+0

これはv1でも有効ですが、v2には使用できるリストエンドポイントがあります。 – Alain

+0

何らかの理由でGoogleが提供するoauth2playground http://code.google.com/oauthplayground/を使用してファイルをリスト表示しようとすると、APIにはGoogle内にたくさんのファイルがあるにもかかわらず、空の配列が返されますドライブ。なぜそうかもしれないのか分かりますか? – Tony

0

あなたはOAuthの2ではその

Retrieving a list of collections - Google Documents List API version 3.0

のためのGoogleドキュメントのAPIを使用する必要があります。0遊び場だけでドキュメントの一覧とGoogleドライブ の両方を選択し、操作の完全なリストを取得します:

List FolderContent 
GET https://docs.google.com/feeds/default/private/full/{folderResouceId}/contents 

は、ドキュメントリストURIに?v=3クエリパラメータを追加することを忘れたり

GData-Version: 3.0 
を追加しないでください。

ヘッダー、それ以外の場合は"Invalid request URI"を返します。

0

は、あなたが、私は上記のリンクを以下のカールを使用して、多くのAPI関数を使用して成功した

https://developers.google.com/drive/v3/reference/files/list

でのGoogleドライブのAPIリファレンスドキュメントを見て助言します。しかし、実際に私は郵便配達員のようなツールでhttpリクエストをしようとすることをお勧めします。とにかく手順以下のアクセスコードを取得した後

list google drive files with curl

下記のリンクは、コマンドラインで次のコマンドを作ってみます。

curl -H 'GData-Version: 3.0' -H "Authorization: Bearer $ACCESS_TOKEN" \ 
     https://www.googleapis.com/drive/v2/files?maxResults=$100 
関連する問題