本稿で学べること
- 有効期限が切れたアクセストークンでYahoo APIを叩いたとき、どのようなHTTPレスポンスが得られるか。
送信したHTTPリクエスト
Request
POST /ShoppingWebService/V1/orderList HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Authorization: Bearer [[...有効期限切れアクセストークン...]]
Connection: keep-alive
Content-Length: 241
Content-Type: application/xml
Host: test.circus.shopping.yahooapis.jp
User-Agent: HTTPie/1.0.2
<?xml version="1.0" encoding="UTF-8" ?>
<Req>
<Search>
<Condition>
<OrderTimeFrom>20190101000000</OrderTimeFrom>
</Condition>
<Field>OrderId,Version</Field>
</Search>
<SellerId>****-********</SellerId>
</Req>
得られるHTTPレスポンス
Response
HTTP/1.1 401 Unauthorized
Age: 0
Connection: keep-alive
Content-Type: application/xml
Date: Wed, 08 May 2019 07:20:20 GMT
Server: Apache
Transfer-Encoding: chunked
WWW-Authenticate: Bearer realm="yahooapis.jp", error="invalid_token", error_description="expired token"
<?xml version="1.0" encoding="utf-8" ?>
<Error>
<Message>
Please provide valid credentials. Bearer realm="yahooapis.jp", error="invalid_token", error_description="expired token"
</Message>
</Error>
- 可読性のためHTTPボディのXMLをインデントしているが、実際は1行になっている。
- HTTPステータスは
401
になる。 - XMLはYahoo!デベロッパーネットワーク:エラーメッセージおよびコードに準拠した構造になる。
-
Yahoo! ID連携のドキュメント「エラーレスポンス」に記載されたとおりの、
WWW-Authenticate
ヘッダが与えられる。