开发者社区 问答 正文

使用PHP通过LINKEDIN V2 API在linkedin墙上发布

我正在尝试使用linkedin v2 api在linkedin上创建帖子。这是我的路线

在studentDetails变量中,我正在将数据发送到linkedin API,例如

    'comment' => 'Admission Open',
);

$studentDetails['visibility'] = array(
    'code' =>'public'
);

它不断返回错误

展开
收起
社区秘书 2019-12-09 15:24:56 720 分享 版权
阿里云 AI 助理回答

在使用LinkedIn V2 API创建帖子时遇到问题,通常需要检查几个关键点来确保请求成功。根据您提供的信息,这里有一些建议:

  1. 认证: 确保您的请求包含了正确的认证信息。LinkedIn API要求每个请求都包含一个有效的访问令牌(Access Token)。这个令牌应该在HTTP头或者请求体中以Authorization: Bearer {access_token}的形式提供。

  2. API端点: 您提到的路由看起来是自定义的路由格式,实际上LinkedIn API的端点应该是https://api.linkedin.com/v2/ugcPosts。请确认您的完整请求URL是否正确指向了LinkedIn API的此端点。

  3. 请求体格式: LinkedIn API通常接受JSON格式的数据。确保您的请求体被正确地序列化为JSON,并且Content-Type设置为application/json。您的PHP代码片段没有展示如何发送请求,但确保在发送POST请求时,数据被正确编码。例如:

$data = [
    'author' => 'urn:li:person:AQEq__________', // 用实际的LinkedIn成员URN替换
    'lifecycleState' => 'PUBLISHED',
    'specificContent' => [
        'com.linkedin.ugc.ShareContent' => [
            'shareCommentary' => [
                'text' => 'Admission Open'
            ],
            'shareMediaCategory' => 'NONE'
        ]
    ],
    'visibility' => [
        'com.linkedin.ugc.MemberNetworkVisibility' => 'PUBLIC'
    ]
];

$headers = [
    'Authorization' => 'Bearer YOUR_ACCESS_TOKEN',
    'Content-Type' => 'application/json',
    'X-RestLi-Protocol-Version' => '2.0.0'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.linkedin.com/v2/ugcPosts");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
  1. 错误处理: 查看返回的错误详情,这将帮助定位问题。LinkedIn API响应中通常会包含一个错误码和描述,可以帮助识别具体问题所在。如果可能,请分享具体的错误消息,以便更精确地解决问题。

  2. 权限审核: 确认您的LinkedIn应用具有创建帖子所需的权限。在LinkedIn开发者门户中,检查您的应用权限设置,特别是与UGC Posts相关的权限。

  3. LinkedIn API文档: 最后,始终参考最新的LinkedIn Developer Documentation来验证您的请求结构和参数是否符合当前API的要求,因为API规范可能会随时间更新。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: