【发布时间】:2020-04-17 21:02:44
【问题描述】:
目前
我在我的 Google 脚本中使用 WooCommerce REST API 并使用以下工作代码:
var ck = "ck_longstringlongstringlongstringlongstring";
var cs = "cs_longstringlongstringlongstringlongstring";
var website = "https://www.mywebsite.com.au";
var url = website + "/wp-json/wc/v3/orders?consumer_key=" + ck + "&consumer_secret=" + cs;
var options =
{
"method": "GET",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"muteHttpExceptions": true,
};
var result = UrlFetchApp.fetch(url, options);
问题
为了提高安全性,我想将消费者密钥和秘密放入标头,但我无法让以下脚本工作
var url = website + "/wp-json/wc/v3/orders;
let authHeader = 'Basic ' + Utilities.base64Encode(ck + ':' + cs);
var options =
{
"method": "GET",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"muteHttpExceptions": true,
"headers": {"Authorization": authHeader},
};
var result = UrlFetchApp.fetch(url, options);
当前结果 = {"code":"woocommerce_rest_cannot_view","message":"Sorry, you cannot list resources.","data":{"status":401}}
预期结果 = 订单 JSON
我的代码有问题吗?还是使用 WooCommerce API 或 Google Scripts?
【问题讨论】:
-
见minimal reproducible example。 描述问题。 “它不起作用”的描述性不足以帮助人们理解您的问题。相反,告诉其他读者预期的行为应该是什么。告诉其他读者错误消息的确切措辞是什么,以及产生它的代码行。使用简短但描述性的问题摘要作为问题的标题。
-
@TheMaster,我已经添加了这个。
-
尝试 curl -u 或 postman 并确认 url 和 key/secret 正常工作。
-
@TheMaster,我在邮递员中尝试了 curl 命令,结果与谷歌脚本中的结果相同,即
{ "code": "woocommerce_rest_cannot_view", "message": "Sorry, you cannot list resources.", "data": { "status": 401 } }进行更多挖掘,似乎与wordpress.org/support/topic/woocommerce-rest-api-error-401中提到的问题类似
标签: wordpress google-apps-script woocommerce http-status-code-401 woocommerce-rest-api