微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Etsy API 分页 - 不知道如何访问其他页面

如何解决Etsy API 分页 - 不知道如何访问其他页面

所以,我遇到了问题,因为我没有 OAuth 1,所以我不得不努力访问 ETSY API。

我终于有了这个:

我的函数 __construct() :

parent::__construct();

    $this->allowForUser();
    $this->etsyDb = new EtsyordersModel;
    
    $this->client = new Etsy([
        'identifier'            =>      getApp()->getConfig('identifier'),'secret'                =>      getApp()->getConfig('secret'),'scope'                 =>      'listings_r transactions_r','callback_uri'          =>      'http://*****-*****.loc/etsyapp/next','access_token'          =>      getApp()->getConfig('access_token'),'access_token_secret'   =>      getApp()->getConfig('access_token_secret'),]);

这是我如何获取 URL 以访问我的 JSON 结果:

        $key = rawurlencode($oauthtoken) . "&" . rawurlencode($tokensecret);

        $method = "GET";
        $baseurl = "https://openapi.etsy.com/v2/shops/24749672/receipts/";
        $nonce = "1234";
        $timeNow = time();
        $oauthversion = '1.0';

        $paramstring = "oauth_consumer_key=" . $oauthconsumerkey . "&oauth_nonce=" . $nonce . "&oauth_signature_method=HMAC-SHA1" . "&oauth_timestamp=" . $timeNow . "&oauth_token=" . $clientsecret .  "&oauth_version=" . $oauthversion;

        // 
        // Signature GET to retrieve signature OAuth
        $encodeurl = $method . "&" . rawurlencode($baseurl) . "&" . rawurlencode($paramstring);

        $signature = hash_hmac( 'sha1',$encodeurl,$key,TRUE );
        $signature = base64_encode( $signature );
 
        // url JSON shop ETSY
        $curlurl = $baseurl . "?" . $paramstring . "&oauth_signature=" . $signature;
        
        // get JSON content in $orders
        $orders = file_get_contents($curlurl);

所以我得到了我的 JSON :

enter image description here

我有 90++ 个项目,但由于分页,它只显示了 25 个项目。

我尝试将 active?limit=100&offset=0 添加到我的 $baseurl(在它的末尾,作为签名计算的参数),但它显示 oauth_problem=signature_invalid&。我试着把它放在 $paramstring 相反,但结果相同。 如何显示所有结果,或者如何访问分页的第 2、3 等页面

我使用的是 PHP 7.4、XAMPP(最后一个版本之一),我没有 OAuth 1,所以我使用了包 Y0lk\OAuth1 和 thePHPleague\oauth1-client 的组合。

感谢您抽出宝贵时间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。