簡體   English   中英

Pocket身份驗證返回內容類型為'application / json'的BadRequest

[英]Pocket authentication returns BadRequest with content-type 'application/json'

我正在檢索Pocket API的訪問令牌。 我可以使用內容類型為application/x-www-form-urlencoded的Http POST請求成功完成此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 } 
}

但是Pocket也支持內容類型為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”(不知道怎么做)。

我認為Pocket報告了一個錯誤的請求,因為您正在發送表單編碼的數據,同時在Content-Type Header中將其聲明為JSON。

如果要以JSON格式數據發送到Pocket,請設置Content-Type: application/json; charset=UTF8 Content-Type: application/json; charset=UTF8

如果要接收 JSON格式的數據,請設置X-Accept: application/json

要在HTTP請求中包含自定義標頭,只需在發送req.headers前將名稱值對添加到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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM