1

最近、scribe-java (https://github.com/fernandezpablo85/scribe-java) を使用して Google ドライブをアプリケーションに統合しようとしています。ファイルの一覧表示/ Id メソッドによるファイルの取得は正常に機能します。しかし、insert new File メソッドが正しく機能しません。これが私のコードです(挿入):

OAuthService service = new ServiceBuilder()
                .provider(GoogleApi.class)
                .apiKey("[my api key]")
                .apiSecret("[my api secret]")
                .scope(SCOPE)
                .callback("[my callback]")
                .build();
Token token = new Token(accessToken, accessSecret);
OAuthRequest request = new OAuthRequest(Verb.POST, "https://www.googleapis.com/drive/v2/files");
service.signRequest(token, request);
Response response = request.send();

これにより、Google ドライブに「無題」の名前付きファイルが作成されます。私の質問は、ローカル ファイル システムからファイルをアップロードして名前を指定する方法です。本文パラメーターの追加、ヘッダーの追加を試みたので、それらはすべて機能しません。どうもありがとう

4

1 に答える 1

1

POST リクエストでコンテンツを送信していないため、「無題」の名前付きファイルを取得しています。Google Drive API のメディア アップロード プロトコルの詳細については、このドキュメントを参照してください。

マルチパート アップロード方式のプロトコルを示す例を次に示します。

POST https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart

Authorization: Bearer <Access token>
Content-Length: 44332
Content-Type: multipart/related; boundary="===============0124852474844509178=="

===============0124852474844509178==
Content-Type: application/json

{'title': 'My Image'}
===============0124852474844509178==
Content-Type: image/png

<Binary data removed>
===============0124852474844509178==

私は Scribe に詳しくありませんが、強く型付けされたクラスですべてのプロトコルの相互作用を抽象化するJava 用の Google API クライアント ライブラリを使用してみてください。Google Drive API のリファレンス ガイドには、このクライアント ライブラリを使用したコード スニペットが含まれています。

于 2012-07-10T18:51:25.717 に答える