Skip to content

qakcn/tietuku-php-sdk

Repository files navigation

tietuku-php-sdk

贴图库的PHP SDK。

对全部API进行重写,另外也添加了兼容层以保持对官方版的兼容。

由于之前的兼容APIv2(现称作“数据接口”)的版本没有经过测试,有严重BUG,而且APIv2也主要是给JS之类的用于查询的,因此回滚到了之前的版本,取消了对APIv2的支持。

下载

点此下载 新版的贴图库SDK

点此下载 兼容官方版的贴图库SDK

文件说明

  • Tietuku.class.php 贴图库SDK主类文件
  • TietukuResult.class.php 贴图库SDK结果类文件
  • TietukuCompatible.class.php 贴图库SDK官方版兼容类文件
  • PHPHttpRequest.class.php PHPHttpRequest类文件
  • load.php 加载上述全部类文件,用于测试
  • build.php 生成下面两个文件,只能在命令行中运行
  • release/tietuku-php-sdk.php 贴图库SDK的单文件
  • release/tietuku_sdk.php 兼容官方版SDK的单文件

官方版SDK兼容说明

仅兼容官方版的TTKClient类,TieTuKuToken类并无实现。TTKClient类没有旧版的post方法。

除此之外使用官方版SDK的程序基本不用进行修改,只要替换相应的文件即可。

另外根据API的变动引入了如下新内容:

  1. getAlbumByUid方法最后增加一个参数$page_no,表示页码;

  2. 新增方法delPic(删除图片)和updatePicName(修改图片名称);

  3. 新增对应私有云API的方法uploadFilePsccurlUpFilePscuploadFromWebPscgetAlbumPicByAidPsc(以及兼容的getPscPicList)、getOnePicByIdPsc(以及兼容的getpicpdetail,开什么玩笑,谁命名的鬼方法!)、getOnePicByFind_urlPscupdatePicNamePsc(以及兼容的modifyPicName,嗯,一定是吃了大便了),均与没有最后的Psc的原方法用法一致。

具体使用方法请查看文件中的注释。

新版SDK使用说明

新版SDK使用了PHPHttpRequest系列类来进行HTTP请求,避免了官方版SDK对cURL扩展的依赖。
现在使用的全部函数均是PHP自带函数,只要没有被禁用相关函数,就能够运行,比旧版更加轻量级。

新版SDK对官方版的方法名称进行了调整,但大致使用方法没有改变,可以很快上手。

新版SDK使用TietukuResult类来返回结果,能更好地支持错误信息。
同时结果能直接获取为关联数组,也可获取原始的JSON数据,更加方便使用。

Tietuku类的使用

创建对象

以贴图库提供的Access Key作为第一个参数,Secret Key作为第二个参数即可。Key请到贴图库开放平台的管理中心获取。本程序只能检查Key是否符合格式,而无法检查Key是否正确,如果在后面的操作中无法成功,请自行检查Key是否正确。

$ttk = new Tietuku('00112233445566778899aabbccddeeff00112233','ffeeddccbbaa99887766554433221100ffeedd');    //两个Key都是40位的十六进制数的字符串表示

设置属性

本类有两个属性可以设置,timeoutToken延时(生命周期)和useragent用户代理。timeout单位为秒,默认为60,请不要设置过小以免后续操作失败。有关用户代理请查阅维基百科。

$ttk->timeout = 120;    //将Token生命周期设置为120秒
$ttk->useragent = 'Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv11.0) Like Gecko';    //将用户代理伪装为IE 11

方法说明

下面为各个方法说明及对应的API文档链接。标注缺省值的参数可省略,但若后面的参数要设置值则前面的参数不能省略,可以填入缺省值来达到和省略一样的效果。

如:

$ttk->getAlbums();    //省略所有参数
$ttk->getAlbums(2);    //省略第二个参数
$ttk->getAlbums(1,10);    //因设置了第二个参数,第一个参数不能省略,可填入缺省值1
上传接口

文档:ttp://open.tietuku.com/doc#upload

  • uploadFile($aid, $file, $filename)

    从文件系统上传文件

    • $aid 整数,要上传文件到的相册ID
    • $file File对象,文件
    • $filename 字符串,要重设的文件名(用于想上传的文件名不是File对象中的文件名,比如临时文件)

    :File类已包含在本SDK附带的PHPHttpRequest类里,创建对象时传入文件路径即可,如:

    $file = new File('/path/to/file');
    
  • uploadFromWeb($aid, $url)

    从网络上传文件

    • $aid 整数,要上传文件到的相册ID
    • $url 字符串,合法的网络图片URL
相册接口
列表接口
图片接口
  • getPicInfo($id_findurl, $findurl)

    通过ID或findurl来获取图片信息,文档:http://open.tietuku.com/doc#pic-getonepic

    • $id_findurl 整数或字符串,图片ID或findurl,具体类型由后一个参数确定
    • $findurl 布尔型,如果为true则前一个参数为findurl,为false则前一个参数为图片ID,缺省值false
  • deletePic($pid)

    删除图片(注意此删除并非从贴图库删除,仅为从用户相册中移除),文档:http://open.tietuku.com/doc#pic-delpic

    • $pid 整数,图片ID
  • editPic($pid, $pname)

    修改图片名称,文档:http://open.tietuku.com/doc#pic-updatepicname

    • $pid 整数,图片ID
    • $pname 字符串,修改后的图片名称
喜欢接口
分类接口
私有云上传接口

开通私有云的可以使用私有云上传接口,用法与上述不带Private的上传接口一致。

文档:http://open.tietuku.com/doc#uppsc

  • uploadPrivateFile($aid, $file, $filename) 上传文件
  • uploadPrivateFromWeb($aid, $url) 上传网络文件
私有云接口

开通私有云的可以使用私有云接口,用法与上述不带Private的对应方法一致。

只生成Token

如果只想生成Token而不进行实际的请求,只需要在上述方法后面加上Token即可。

参数除了上传接口的Token方法可以省略$file$url参数之外,其他Token方法的参数说明不变。

如:

$ttk->uploadFileToken(12);    //获取上传文件的Token,可以省略$file
$ttk->getAlbumsToken();    //获取相册列表的Token

捐助

本程序开发者并非贴图库员工,与贴图库无利益关系。

您可以自愿捐款来支持本程序更好地开发。

支付宝账户:[email protected]

About

Tietuku SDK for PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages