Square Connect API - 图像上传 - 从服务器代码52错误的空回复

时间:2015-07-10 19:59:41

标签: square-connect

尝试使用PHP进行方形连接API图像上传工作。

我使用了square connect API指南:docs.connect.squareup.com/api/connect/v1/#post-image

根据我在StackOverflow和Google上搜索的内容尝试了两种不同的方法。

方法1)定期卷曲请求: https://gist.github.com/delalis/17c3c111e3b42df127ed

方法2)使用CURLFile(仅限php> = 5.5) https://gist.github.com/delalis/5c7ecc2aaa024927b360

这两种方法都给了我来自服务器错误的空回复:

错误:"来自服务器"的空回复 - 代码:52

我能连接到广场做其他功能没问题,但图像上传却证明是相当困难的!

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是我通常与人分享的一个有用的PHP示例: https://gist.github.com/tdeck/7118c7128a4a2b653d11

<?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;type=image/jpeg"]);
    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'
    )
);
?>