breakpoint/etsy-php

Etsy api 的 PHP 封装。

0.2.1 2023-01-30 14:06 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:36 UTC


README

Version Total Downloads

此库旨在提供一个简单的方式来访问 Etsy API 的所有方法。结构基于 Etsy API 文档的组织。方法根据其“类型”组织,例如列表、用户等。

目录

快速开始

通过运行 Composer 安装

composer require breakpoint/etsy-php

使用方法访问所有特色列表

$esty = new \breakpoint\etsy\EtsyClient('your-keystring', 'your-secret');
$results = $etsy->listing->findAllFeaturedListings();

foreach ($results as $item) {
    echo $item->listing_id;
}

请求

所有请求都从 EtsyClient 对象开始,并作为属性引用。这些通常对应于 Etsy API 文档,但有一些变化。包含三种额外的类型,但未记录:applicationbaselineserver。这些仅通过 getMethodTable 方法的结果引用。

$etsy->listing-> // method found in API documentation

参数

参数使用数组指定,直接传递到您要执行的方法。

$etsy->listing->getListing(['listing_id' => '123abc']);

字段

如果您想指定返回的 字段,则首先将它们指定为一个数组。

$etsy->listing->fields(['listing_id', 'title', 'description', 'url'])->getListing(['listing_id' => '123abc']);

关联

Etsy 允许您在请求中请求返回额外的 关联。您必须首先将这些指定为一个数组。

$etsy->shop->associations(['Listings' => [
                'scope' => 'draft',
                'limit' => 10,
                'offset' => 0,
                'select' => array('listing_id', 'title'),
                // you can also specify sub-associations
                //'associations' => // scope, limit, select, etc
                ]])
                ->getShop(['shop_id' => '123abc']);

数据

所有 PATCHPOSTPUT 请求也接受一个数据数组。

$etsy->userprofile->updateUserProfile(

    // first array is parameters
    ['user_id', 'user_123'], 
    
    // second array is data you are changing
    ['first_name' => 'john', 'last_name' => 'developer']);

结果

POST 方法始终返回一个 EtsyObject 作为响应。GET 方法将返回 EtsyResultsEtsyObject,具体取决于预期返回的项目数量。如果您正在获取列表,则将返回 EtsyObject,如果您正在获取活动列表,则将返回 EtsyResults

所有其他请求(PUTPATCHDELETE)将根据其响应返回 truefalse

注意:已自动生成返回值,然后手动审查。如果值不符合预期,请创建问题或拉取请求。

EtsyResults

EtsyResults 对象是一个简单的可迭代和数组可访问集合。集合中的所有项目都是 EtsyObject 的实例。有几个基本方法可用

$results = $etsy->listing->findAllFeaturedListings();

$results[0]; // access the item at that position
$results->count(); // returns number of items
$results->first(); // access the first item
$results->add(object); // useful if you are performing requests with multiple pages

EtsyObject

此简单对象允许您通过魔法方法将单个结果作为属性访问。

$listing = $etsy->listing->getListing(['listing_id' => 'listing_123']);

echo $listing->title;
echo $listing->getType(); // 'Listing'

OAuth 请求

所有需要 权限范围 的方法都需要通过访问和密钥令牌进行 OAuth 访问。一种简单的方法是使用 y0lk/oauth1-etsy。您将在创建 EtsyClient 对象时指定这些值。

$esty = new \breakpoint\etsy\EtsyClient('your-keystring', 'your-secret', 'access_token', 'token_secret');

临时用户

默认情况下,只有应用程序的所有者可以通过 OAuth 认证和使用它。为了允许其他用户使用您的应用程序,您必须通过 Etsy 开发者网站请求“完全访问权限”或将他们添加为 临时用户。这是通过两个包含的方法调用来实现的

$etsy->application->addProvisional(['user_id' => 'user_123']);
$etsy->application->removeProvisional(['user_id' => 'user_123']);

// returns all users with access
$etsy->application->getProvisional();

高级

如果您希望接收完整的响应,请在您的请求中使用raw()函数。

$raw = $etsy->listing->raw()->getTrendingListings();

开发

包含了generate.php文件,该文件根据API返回的所有已知类型创建资源。这旨在API进行重大更改时作为起点。

php generate.php