使用Square Connect API和PHP上传商品图片

用户名

我已经查看了Stackoverflow上关于此问题的旧问题。但是我没有找到任何关于php集成的例子。

这是我的代码示例,但失败了

    $url = 'https://connect.squareup.com/v1/me/items/9999999/image';
    $auth_bearer = 'Authorization: Bearer ' . $this->accessToken;
    $image_data = base64_encode(file_get_contents('image.jpeg'));
    $header = array(
        $auth_bearer,
        'Accept: application/json',
        'Content-Type: multipart/form-data; boundary=BOUNDARY',

    );

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'files=' . $image_data);
    $head = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($head);
    echo "<pre>";
    print_r($response);
    echo "</pre>";

什么也没有发生……这里有什么帮助吗?

谢谢

特洛伊

您需要使用文件对象的正确的多部分标头发布原始图像数据(未进行base64编码)。这里的工作示例(替换ACCESS_TOKENITEM_IDIMAGE_FILE)。

<?php
function uploadItemImage($url, $access_token, $image_file) {
    $headers = ["Authorization: Bearer $access_token"];

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, ['image_data' => "@$image_file"]);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $data = curl_exec($ch);
    $return_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    print "POST to $url with status $return_status\n";

    curl_close($ch);

    return $data ? json_decode($data) : false;
}

print_r(
    uploadItemImage(
        'https://connect.squareup.com/v1/me/items/ITEM_ID/image',
        'ACCESS_TOKEN',
        'IMAGE_FILE.jpg'
    )
);
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Square Connect API添加项目

来自分类Dev

使用Square Connect API访问客户信息

来自分类Dev

RestRequest和Square Connect

来自分类Dev

Square Connect API退款说明

来自分类Dev

Square Connect API退款/争议

来自分类Dev

Square Connect API的速率限制是多少?

来自分类Dev

Square Connect API-导航回应用

来自分类Dev

使用Connect上传文件

来自分类Dev

使用PHP和MySQL上传图片

来自分类Dev

使用Ajax和PHP上传图片

来自分类Dev

Shopify API-使用PHP上传图片

来自分类Dev

Square Connect API cURL调用限制库存结果

来自分类Dev

Square Connect API:如何确定付款有任何争议

来自分类Dev

Square Connect API-从本机iOS App退款

来自分类Dev

Square Connect API-iOS SDK离线模式错误

来自分类Dev

Square Connect API : 相同投标类型的部分退款

来自分类Dev

如何在 Square Connect API 中处理定期付款

来自分类Dev

Square-Connect Webhook PHP发布无数据

来自分类Dev

使用Mirror API for Glass拍摄和上传图片

来自分类Dev

找不到Square Connect API列表位置和库存调整返回404

来自分类Dev

使用PHP上传多张图片

来自分类Dev

无法使用php上传图片

来自分类Dev

如何使用PHP上传图片?

来自分类Dev

Volley使用PHP上传图片

来自分类Dev

将Mozilla Backpack Connect API与PHP结合使用

来自分类Dev

通过 Square Connect API 创建带有修饰符的行项目

来自分类Dev

Android:使用MultiPartEntityBuilder上传图片和JSON

来自分类Dev

图片上传和使用codeigniter查看

来自分类Dev

使用vuejs和laravel通过API上传图片无法正常工作