1

「ファイルとフォルダの操作」セクションにあるGoogleドライブのSDKドキュメントには、投稿のヘッダーについての説明があります。これは:

POST https://www.googleapis.com/drive/v2/files
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json

これは何を意味するのでしょうか?ヘッダーは本当にjsonRequestに存在しますか?この投稿はどこに行くべきですか?最初にヘッダーを入力してから、json文字列と一緒にjsonリクエストを入力して、サーバーに送信する必要がありますか?または、ACCESS_TOKENと残りの情報は、このようにgetとしてURLと一緒に投稿されますか?

POST https://www.googleapis.com/drive/v2/files?access_token={ACCESS_TOKEN}&etc=whatever&...

アクセストークンまたはAPIキーを付与する必要があることは理解していますが、これはどこに行きますか?これはURL文字列に含まれますか、それとも投稿値またはjsonRequestに含まれますか?

json.orgでjsonRequestを読みましたが、それでも取得できません。コンテンツタイプ、コンテンツ長、およびコンテンツエンコーディングが実際に何を意味するのかを考慮する必要がありますか?そして、もし私がそうするなら、これらの情報のすべてはどこに行くべきですか?

時々、答えは私の顔をじっと見つめているだけで、それを知る前に、私はすでに要点を見逃しています。それで、誰かが私にいくつかの光を当てることができますか?

4

2 に答える 2

1

ヘッダーはHTTPリクエストの標準部分です。httpリクエストの標準は、ヘッダーフィールドとリクエストメソッドです。

POST https://www.googleapis.com/drive/v2/files

この例のリクエストメソッドはPOSTであり、データをGoogleドライブのAPIサーバーに送信します。これは、GoogleドライブAPIがPOSTリクエストを受け入れることを意味します。

Authorization: Bearer {ACCESS_TOKEN}

この場合、承認はAPI_KEYであるACCESS_TOKENです。サーバーはGETリクエストも受信する場合があります。サーバーは、ファイルの作成、削除、更新、または取得のプロセスを実行する前に、ユーザーが許可されているかどうかを確認します(Http Request jsonデータが送信する内容によって異なります)。

Content-Type: application/json

Content-Typeは、送信されるHTTPリクエストのMimeタイプがjson文字列であることをサーバーに通知します。Mime Typeはすでにサーバーの標準になっている可能性があります。つまり、json文字列を送信することを前提としているため、コード内のどこにも配置する必要はなく、POSTを実行すると受信します。そうしないと、エラーが発生します。Content-Typeフィールドは、常にMimeTypeを受け取ります。(Mimeタイプのリストについては、http://en.wikipedia.org/wiki/MIME_typeを参照してください。)

HTTPヘッダーは標準であるため、GoogleドライブAPIサーバーが使用している標準の種類を知る必要があります。次に、ヘッダーフィールドが配置されている場所に従ってください。たとえば、ACCESS_TOKENはURL文字列にGETとして配置され、json文字列はPOSTに配置されます。(HTTPヘッダーのリストについては、http://en.wikipedia.org/wiki/List_of_HTTP_header_fieldsから参照を取得することもできます。)

于 2012-08-15T20:38:55.790 に答える
1

Google Drive APIは、通信メカニズムとしてHTTPリクエストを使用するRESTFulAPIです。ヘッダーは、Authorization承認するためにリクエストに沿って送信する必要があるHTTPヘッダーです。JSONはリソース表現としてのみ使用されます。

ただし、Drive APIは、OAuth2.0アクセストークンを?access_token=クエリパラメーターとして渡すこともサポートしているため、より便利です。

サポートされているクライアントライブラリの1つを使用している場合、これはすべてクラスの抽象化によって処理されます。

于 2012-08-03T19:58:32.757 に答える