Linkedin flag as job - php

qnakjoqk  于 2023-05-21  发布在  PHP
关注(0)|答案(3)|浏览(123)

我正在尝试使用OAuth PUT将post-id标记为作业讨论:

$post_id = "G-34343-example";
$cmd = "http://api.linkedin.com/v1/posts/{$post_id}/category/code";
$xml = "<?xml version='1.0' encoding='UTF-8'?><code>job</code>";
$this->oauthc->fetch($cmd, $xml, OAUTH_HTTP_METHOD_PUT, array("Content-Type" => "application/xml"));

但我得到一个错误:
有人知道这是什么意思吗?

com.linkedin.common.leo.core.UnauthorizedActionException: Unauthorized change of forum type
q8l4jmvw

q8l4jmvw1#

问题就出在这里:

<?php
$post id = "G-34343-example";
?>

变量名中有一个空格。使用下划线而不是空格来使其工作。
(This:$cmd = "http://api.linkedin.com/v1/posts/{$post_id}/category/code";将在post id应该在的位置包含空白点。)

pgccezyw

pgccezyw2#

您使用API连接的用户是否有权标记目标组中的帖子?你有没有试过以这个用户的身份直接登录LinkedIn,进入目标论坛并试图标记一个帖子?

af7jpaap

af7jpaap3#

当创建一个群组帖子时,它的URL会在“location”头中返回。出于某种原因,位置标头中的URL使用的是http而不是https。
如果您使用的是OAuth2,如果您尝试使用http而不是https访问API,LinkedIn将返回401。所以如果你收到一个401响应,请检查你是否使用https。
所以代码应该是这样的:

$url = $response->headers['location'] . '/category/code';
$url = str_replace('http://', 'https://', $post_url);
// ...

相关问题