之前看到有人在网络求教《淘宝api的吗?求问如何直接上传网络图片》,为了让新人少走弯路,以下是小编写整理相关解决方法。
代码经过测试(可以看后面的返回结果)
比如:https://www.onebound.cn/daigou/logo/0-702x180.jpg
/**
* 使用淘宝open api直接上传网络图片的方法
*
* @author Steven.liao (lxq73061@qq.com)
* @last_modify 2020-03-08
*
*/
//调用SDK代码如下:
$appkey='';
$secret='';
$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$c->format = 'json';
$req = new ItemAddRequest;
$req->setLocationState("浙江");
$req->setLocationCity("杭州");
$req->setNum("30");
$req->setPrice("200.07");
$req->setType("fixed");
$req->setStuffStatus("new");
$req->setTitle("Nokia N97全新行货");
$req->setDesc("这是一个商品");
$req->setApproveStatus("onsale");
$req->setCid("50026519");
//1、远程图片的方式
$pic_url='https://www.onebound.cn/daigou/logo/0-702x180.jpg';
$data = file_get_contents($pic_url);
$fileLocation = '/tmp/' .time().rand(1000,99999).$_FILES[$imgname]['name'];
$req->setImage('@'.$fileLocation);
//2、上传图片的方法
/*
$tmpname = $_FILES['img']['name'];
$tmpfile = $_FILES['img']['tmp_name'];
$type = $_FILES['img']['type'];
$ok_file = '/tmp/'.time().rand(1000,99999).$_FILES['img']['name'];
move_uploaded_file($tmpfile,$ok_file);
$req->setImage('@'.$fileLocation);
*/
//3、setPicPath是淘宝图片空间的相对地址,并不是可以直接传的网络图片地址
//$req->setPicPath("i7/T1rfxpXcVhXXXH9QcZ_033150.jpg");
$resp = $c->execute($req, $sessionKey);
返回结果:
{
"item_add_response": {
"item": {
"created": "2020-02-29 10:11:09",
"iid": "613055906493",
"num_iid": 613055906493
},
"request_id": "nfe27adkvygx"
}
}
关于淘宝铺货,可以参考另一篇文章:
《淘宝一键铺货》https://blog.csdn.net/Alex20182019/article/details/104652794/