【发布时间】:2019-09-27 07:35:35
【问题描述】:
我需要使用 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);
}
我收到以下错误消息:
{ "作者": "urn:li:person:XXXXXX-XXX", "lifecycleState": "PUBLISHED", "specificContent": { "com.linkedin.ugc.ShareContent": { "shareCommentary": { " text": "Hello World!这是我在 LinkedIn 上的第一个分享!" }, "shareMediaCategory": "NONE" } }, "visibility": { "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC" } }" {"message":"Request timed out","status":504}
【问题讨论】:
-
可能值得检查
var_dump($fields)返回的内容。此外,您的 URL 看起来不正确(但不确定),直接在其末尾带有任何分隔符的访问令牌(除非 $this->_access_token 字符串中有一个? -
感谢您的快速响应,我将更新放在首位。我试着按照你说的做,但还有另一个错误:“请求超时”
-
我尝试在邮递员中提出请求并且效果很好,所以我认为我在 curl 上犯了一个错误。如果你看到任何错误,你能告诉我。非常感谢