簡體   English   中英

如何通過 API 從 LinkedIn 獲取公司帖子?

[英]How to get company posts from LinkedIn via API?

我想用 PHP 從 LinkedIn 獲取公司帖子。 我應該使用什么請求來請求發布?

我嘗試使用 PHP 庫"zoonman/linkedin-api-php-client" 我已經創建了 LinkedIn 應用程序,並具有對公司的驗證訪問權限。 我編寫了獲取 LinkenIn 訪問令牌的代碼。 我嘗試使用GET 'companys' 請求,但收到錯誤 404 或 410。

    <?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    // add Composer autoloader
    include_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor/autoload.php';

    // import client class
    use LinkedIn\Client;
    use LinkedIn\Scope;
    use LinkedIn\AccessToken;

    // instantiate the Linkedin client
    $client = new Client(
        'correct client id',
        'correct client secret'
    );
    $scopes = [
        Scope::READ_BASIC_PROFILE
      ];
    $client->setRedirectUrl("correct return address, which is the same as URL of current script");
    $loginUrl = $client->getLoginUrl($scopes);

    if (isset($_GET) && isset($_GET['code']))
    {
        $accessToken = $client->getAccessToken($_GET['code']);
        $client->setAccessToken($accessToken);
        $client->setApiRoot('https://api.linkedin.com/v1/'); //I've tried to use 'https://api.linkedin.com/v2/' too
        $client->setApiHeaders([
            'Content-Type' => 'application/json',
            'x-li-format' => 'json',
            'X-Restli-Protocol-Version' => '2.0.0', // use protocol v2
        ]);
        $posts = $client->get('/v1/companies/10239645/updates?format=json'); 
        //I've tried to use '/v2/companies/10239645/updates?format=json' 
        //and '/companies/10239645/updates?format=json'
        var_dump($posts);
        die();
    }
    else
    {
        header('Location: ' . $loginUrl);
    }

根據請求的地址,我收到客戶端錯誤 ('GuzzleHttp\\Exception\\ClientException'):

  • GET https://api.linkedin.com/companies/10239645/updates?format=json導致404 Not Found響應”
  • " GET https://api.linkedin.com/v1/companies/10239645/updates?format=json導致410 Gone響應:{ "errorCode": 0, "message": "此資源在 v1 下不再可用APIs", "requestId": "CH17ME6WK6", "s (截斷...)";
  • " GET https://api.linkedin.com/v2/companies/10239645/updates?format=json導致404 Not Found響應:{"serviceErrorCode":0,"message":"資源公司不存在", “狀態”:404}”。

我想從 LinkedIn 獲取公司帖子。

現在是否禁用了“公司”請求? 我應該使用什么請求(和請求地址)? 現在如何從LinkedIn獲取公司帖子? 我的代碼有什么問題? 你可以幫幫我嗎?

您應該使用 Find Share By Owner端點。 這是一個 v2 端點,因此首先要做的是更改默認 API 根,如 SDK 文檔中所述:

  $client->setApiRoot('https://api.linkedin.com/v2/');

然后嘗試:

$posts = $client->get('shares?q=owners&owners=urn:li:organization:10239645'); 

注意:檢查您在 OAuth 流程中是否要求正確的范圍(請參閱頁面開頭的權限部分)以及您的應用程序是否具有正確的權限(請參閱開發者應用程序控制台中的產品部分)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM