Etsy Api v3 __SELF__
Etsy Api v3 __SELF__
在 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?
{
"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
获取用户 ID,然后使用该用户 ID 获取商店。
PHP 获取用户id和设置curl的代码url:
$user_id=explode(".", $access_token)[0];
$curlUrl = 'https://openapi.etsy.com/v3/application/users/'.$user_id.'/shops';
在 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?
{
"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
获取用户 ID,然后使用该用户 ID 获取商店。
PHP 获取用户id和设置curl的代码url:
$user_id=explode(".", $access_token)[0];
$curlUrl = 'https://openapi.etsy.com/v3/application/users/'.$user_id.'/shops';