在Etsy Api V2中,我们可以使用__SELF__
作为shopID,但在Api v3中,这会给出错误( 'shop_id‘的预期整数值(获取字符串))。
v2中的终结点(成功):
https://openapi.etsy.com/v2/shops/__SELF__/receipts
v3中的终结点(错误):
https://openapi.etsy.com/v3/application/shops/__SELF__/receipts
那么,如何在v3中使用__SELF__
方法呢?如果不是,我们如何获得授权商店的id?
发布于 2021-07-01 14:37:04
{
"access_token": "12345678.O1zLuwveeKjpIqCQFfmR-PaMMpBmagH6DljRAkK9qt05OtRKiANJOyZlMx3WQ_o2FdComQGuoiAWy3dxyGI4Ke_76PR",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "12345678.JNGIJtvLmwfDMhlYoOJl8aLR1BWottyHC6yhNcET-eC7RogSR5e1GTIXGrgrelWZalvh3YvvyLfKYYqvymd-u37Sjtx"
}
OAuth授权令牌(access_token
)包括用户id (在上面的示例中是12345678
),这是授予应用程序访问权限的Etsy.com用户的内部user_id。
V3 Open API需要使用此参数中格式的组合用户id前缀和OAuth令牌来验证请求。
此数字OAuth user_id仅在授权码授权流程中可用。
因此,我们可以从access_token
获取用户we,然后使用该用户we获得商店。
获取userid和设置curl url的PHP代码:
$user_id=explode(".", $access_token)[0];
$curlUrl = 'https://openapi.etsy.com/v3/application/users/'.$user_id.'/shops';
https://stackoverflow.com/questions/68201520
复制相似问题