【发布时间】:2018-10-13 07:51:11
【问题描述】:
我正在尝试使用linkedin api 上传图片。 我已经在我的服务器中上传了图片,现在我想将上传的图片网址上传到linkedin。但我得到了错误
{ "serviceErrorCode":0,"message":"请求不是多部分的 请求","状态":400 }
$curl1 = curl_init();
$m_url="https://api.linkedin.com/media/upload";
$curl_header = array("Authorization:Bearer ".$access_token);
$uploadRequest = array(
'name'=>'media',
'filename' => basename($medias[0]),
'media_data' => base64_encode(file_get_contents($medias[0]))
);
curl_setopt_array($curl1, array(
CURLOPT_URL => $m_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>$uploadRequest,
CURLOPT_HTTPHEADER=>$curl_header,
));
$response1 = curl_exec($curl1);
$err1 = curl_error($curl1);
curl_close($curl1);
这是请求。请任何人告诉我确切的问题是什么以及如何解决这个问题。提前致谢。
【问题讨论】:
-
你有read the documentation吗?具体来说,检查它声明您需要发送哪些标头。
-
是的,但它显示了如何将图像直接上传到 LinkedIn。但我必须上传一个图片网址,该网址已上传到我的服务器上。
-
没关系。唯一的区别是您如何获取二进制数据(来自
$_FILES-array 与通过file_get_contents()加载它)。重要的部分是Content-Type。链接中明确指出它应该作为多部分请求发送。 -
是的,一个工作。非常感谢。