以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教一个接口代码问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104682) |
-- 作者:huangxueyao -- 发布时间:2017/8/3 9:25:00 -- 请教一个接口代码问题 为什么提交不了? [此贴子已经被作者于2017/8/3 9:27:33编辑过]
|
-- 作者:huangxueyao -- 发布时间:2017/8/3 9:28:00 -- 有赞的API接口: 请求地址:https://open.youzan.com/api/oauthentry/youzan.multistore.goods.sku/3.0.0/update 参数: 名称 (类型) price (Price) offline_id (Number) num_iid (Number) 请求示例(C++) 以下内容为程序代码: 1 Auth auth = new Token("xxx"); // Auth auth = new Sign("app_id", "app_secret"); 2 3 YZClient yzClient = new DefaultYZClient(auth); 4 Dictionary<string, object> dict = new System.Collections.Generic.Dictionary<string, object>(); 5 dict.Add("num_iid", 1335438058); 6 dict.Add("offline_id", 1098006); 7 dict.Add("price", 99); 8 9 var result = yzClient.Invoke("youzan.multistore.goods.sku.update", "3.0.0", "GET", dict, null); 10 Console.WriteLine(result); 请求示例(php) 以下内容为程序代码: 1 <?php 2 require_once __DIR__ . \'/lib/YZTokenClient.php\'; 3 4 $token = \'fill your token\';//请填入商家授权后获取的access_token 5 $client = new YZTokenClient($token); 6 7 $method = \'youzan.multistore.goods.sku.update\'; //要调用的api名称 8 $api_version = \'3.0.0\'; //要调用的api版本号 9 10 $my_params = [ 11 \'num_iid\' => \'1335438058\', 12 \'offline_id\' => \'1098006\', 13 \'price\' => \'99\', 14 ]; 15 16 $my_files = [ 17 ]; 18 19 echo \'<pre>\'; 20 var_dump( 21 $client->post($method, $api_version, $my_params, $my_files) 22 ); 23 echo \'</pre>\'; 他们的调试工具网址:https://www.youzanyun.com/docs/debugger 不懂怎么写代码。 我想参照http://www.foxtable.com/mobilehelp/scr/0246.htm来写,但是一直没搞对,帮助文档里面只有一个APPCODE,但是有赞的话有AppID和AppSecret,希望狐爸能给写个代码举一反三。谢谢谢谢~ |
-- 作者:有点甜 -- 发布时间:2017/8/3 9:47:00 -- Dim hc As New HttpClient("https://open.youzan.com/api/oauthentry/youzan.multistore.goods.sku/3.0.0/update") hc.FormData.Add("num_iid", 1335438058) hc.FormData.Add("offline_id", 1098006) hc.FormData.Add("price", 99) Dim data As string = hc.GetData() msgbox(data) |
-- 作者:huangxueyao -- 发布时间:2017/8/3 9:59:00 -- 返回显示taken无效。 应该是没有加上AppID和AppSecret 这里有测试用的 AppID:8a0dbb466d27b3a182 AppSecret:4bf5a31f12709383bf47fc976c84b005
|
-- 作者:有点甜 -- 发布时间:2017/8/3 10:50:00 -- 没办法,人家只提供java的sdk,看不到源码,不清楚人家的sign是如何加密的。只能如下变通处理,利用debug工具
Dim url As String = "https://www.youzanyun.com/docs/debugger/interface/sign/shop/youzan.shop.get/3.0.0?" |
-- 作者:有点甜 -- 发布时间:2017/8/3 10:58:00 -- 或者是,直接固定sign的值
Dim url As String = "https://open.youzan.com/api/entry/youzan.shop/3.0.0/get?"
|
-- 作者:huangxueyao -- 发布时间:2017/8/3 11:00:00 -- 谢谢谢谢,研究解决了 |
-- 作者:有点甜 -- 发布时间:2017/8/3 11:10:00 -- 以下是引用huangxueyao在2017/8/3 11:00:00的发言:
谢谢谢谢,研究解决了
如何解决的?什么方法? |
-- 作者:huangxueyao -- 发布时间:2017/8/3 13:01:00 -- https://www.youzanyun.com/docs/guide/common/953 看这里,通过提交AppID和AppSecret获取一个7天有效期的access_token,再用这个access_token加上其它请求参数提交就可以了。 我也是看他们的帮助文档和您的代码来做的。 现在测试已经成功了。
|