【问题标题】:How can I post an order into woocommerce using Alamofire?如何使用 Alamofire 将订单发布到 woocommerce?
【发布时间】:2018-06-30 13:27:55
【问题描述】:

我正在尝试从 iOS 创建订单以使用 Alamofire 吸引商务。我正在寻找合适的解决方案。

在尝试创建订单后出现此错误:

{
    code = "woocommerce_rest_cannot_create";
    data =     {
        status = 401;
    };
    message = "Sorry, you are not allowed to create resources.";
}

代码:

let parameters: [String: AnyObject] = [
    "consumer_key":"*******" as AnyObject, // here is my user name
    "consumer_secret":"*******" as AnyObject, // here is my secret key

    "shipping_total": "120.00" as AnyObject,
    "total": "6015.00" as AnyObject,
    "customer_id": 0 as AnyObject,
    "billing": [
        "first_name": "Faizul",
        "last_name": "karim",
        "company": "somecompany",
        "address_1": "someAddress",
        "address_2": "someAddress",
        "city": "Dhaka",
        "state": "Dhaka",
        "postcode": "1203",
        "country": "bd",
        "email": "faizulkarim28@gmail.com",
        "phone": "001929838939"
        ] as AnyObject,
    "shipping": [
        "first_name": "Faizul",
        "last_name": "karim",
        "company": "somecompany",
        "address_1": "someAddress",
        "address_2": "someAddress",
        "city": "Dhaka",
        "state": "Dhaka",
        "postcode": "1203",
        "country": "bd",
    ] as AnyObject,
    "line_items":[
        "id": 388,
        "name": "Mens Casual Blazer - 40",
        "product_id": 55677,
        "variation_id": 57619,
        "quantity": 1,
        "tax_class": "",
        "subtotal": "5895.00",
        "subtotal_tax": "0.00",
        "total": "5895.00",
        "total_tax": "0.00",
    ] as AnyObject
]

Alamofire.request("https://infinitymegamall.com/wp-json/wc/v2/orders",method: .post,  parameters: parameters)
    .responseJSON{  response in
        if let json = response.result.value {
            print(json)
        }
    }

【问题讨论】:

  • 我从未使用过 woocommerce API,但您似乎没有使用正确的身份验证方法,因此出现了错误。
  • 我可以通过此身份验证获取 Json 数据。但无法发布数据。在获取数据中只有 2 个参数值。但是当我尝试发布订单时,有很多参数值。
  • 查看API的documentation,好像需要指定API密钥的权限,你确定你也设置了写权限,而不仅仅是读权限?
  • 我确定访问代码没问题
  • 我在 android 之前做过这个。参数中缺少一些东西。最重要的是 oauth_signature。为此,hmac 需要使用 sha1 加密,但我无论如何也无法确认此加密。

标签: ios swift woocommerce alamofire orders


【解决方案1】:

您确定您的 API 密钥具有写入权限吗?如果 GET 有效,则密钥可能只允许只读。仔细检查您的 Woocommerce API 设置中的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2021-02-12
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    相关资源
    最近更新 更多