我需要使用LinkedIn API共享媒体。我目前是来获取令牌并获取个人资料数据的。因此,问题是我无法在该网址“ https://api.linkedin.com/v2/ugcPosts”中发布媒体。
我想这样做,但就我而言,它不起作用
我用方法创建了一个类。我不能放所有代码,因为太长了,但是我可以详细介绍什么是函数角色,所以
login_url()->允许我获取代码
set_access_token()->允许我与access_token交换代码
set_user_urn->请允许我将user_urn设置为在共享功能中发布数据。我的骨灰盒密码就像XXXXXX-XXX。告诉我格式是否正确
public function share() {
$url = "https://api.linkedin.com/v2/ugcPosts" . $this->_access_token;
$fields = '{
"author": "urn:li:person:' . $this->_urn_id . '",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text": "Hello World! This is my first Share on LinkedIn!"
},
"shareMediaCategory": "NONE"
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}';
var_dump($fields);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$httpCode = curl_getinfo($curl , CURLINFO_HTTP_CODE); // this results 0 every time
$response = curl_exec($curl);
if ($response === false)
$response = curl_error($curl);
echo stripslashes($response);
curl_close($curl);
}
我收到以下错误消息:
{“ author”:“ urn:li:person:XXXXXX-XXX”,“ lifecycleState”:“ PUBLISHED”,“ specificContent”:{“ com.linkedin.ugc.ShareContent”:{“ shareCommentary”:{“文字”:“ Hello World!这是我在LinkedIn上的首次分享!” },“ shareMediaCategory”:“ NONE”}},“ visibility”:{“ com.linkedin.ugc.MemberNetworkVisibility”:“ PUBLIC”}}“ {” message“:”请求超时“,”状态“:504}
答案 0 :(得分:0)
我放了这个标题:
$ headers = array('Content-Type:text / plain');
根据此帖子= How to post raw body data with curl?,CURL默认设置为“内容类型:application / x-www-form-urlencoded”。
//共享功能
public function share() {
$url = "https://api.linkedin.com/v2/ugcPosts?oauth2_access_token=" . $this->_access_token;
$headers = array('Content-Type: text/plain');
$fields = '{
"author": "urn:li:person:XXXXXX-XXX",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text": "Hello World! This is my first Share on LinkedIn2!"
},
"shareMediaCategory": "NONE"
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$httpCode = curl_getinfo($curl , CURLINFO_HTTP_CODE); // this results 0 every time
$response = curl_exec($curl);
if ($response === false)
$response = curl_error($curl);
curl_close($curl);
return stripslashes($response);
}