0

ポケット API のアクセス トークンを取得しています。コンテンツ タイプがapplication/x-www-form-urlencoded.

{ 
  host: 'getpocket.com',
  path: '/v3/oauth/authorize',
  port: 443,
  method: 'POST',
  headers:
   { 'Content-Type': 'application/x-www-form-urlencoded',
     'Content-Length': 79 } 
}

しかし、ポケットは としてコンテンツ タイプもサポートしますapplication/json

{ 
  host: 'getpocket.com',
  path: '/v3/oauth/authorize',
  port: 443,
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'Content-Length': 79 } 
}

しかし、このタイプのリクエストを使用すると、私が返されます

'400不正な要求'

私はnodejsでこれをやっています。「X-Accept」など、これに関する追加の詳細を渡す必要がありますか(方法がわからない)。

4

1 に答える 1

1

Content-TypeヘッダーでJSONとして宣言しながらフォームエンコードされたデータを送信しているため、Pocketは不正なリクエストを報告していると思います.

Pocket に JSON 形式でデータを送信する場合は、 を設定しContent-Type: application/json; charset=UTF8ます。

JSON形式でデータを受け取りたい場合はset X-Accept: application/json.

HTTP リクエストにカスタム ヘッダーを含めるには、req.headers送信する前に名前と値のペアを追加するだけです。例えば:

headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'X-Accept' : 'application/json'}

また:

req.headers['X-Accept'] = 'application/json'

https://nodejs.org/api/http.html#http_http_request_options_callbackをご覧ください。

于 2015-05-26T09:48:54.343 に答える