LinkedInでany企業プロファイルにアクセスする方法を見つけようとしています。たとえば、LinkedIn自体の RESTエンドポイントAPI は次のとおりです。
https://api.linkedin.com/v1/companies/1337?format=json
サンプルの応答:
{
"id": 1337,
"name": "LinkedIn"
}
しかし、rw_company_admin
を有効にしてOAuth2で認証した後、私のアプリは次を返します:
{
"errorCode": 0,
"message": "Member 206xxxxxx does not have permission to get company 1337",
"requestId": "G6LNMCEZO8",
"status": 403,
"timestamp": 1432358171348
}
これはごく最近まで機能していました。
ドキュメント 注意事項 "以下の企業ページ管理API呼び出しを実行するには、リクエストを行う認証済みLinkedInユーザーがターゲットの管理者である必要があります会社。 "紛らわしいことに、 これも言う"次のエンドポイントは、引き続き使用できる唯一のものです。 。企業API — /v1/companies/{id}
"。
ただし、私の目標は、会社を管理者として管理することではなく、会社の簡単な出力をユーザーに表示することです。どうすれば会社情報を入手できますか?
彼らはその機能をオフにしたようです。
https://developer.linkedin.com/support/developer-program-transition を参照してください
企業APIの新しい要件
会社のAPIエンドポイントへのすべての呼び出しでは、認証されたユーザーに、ターゲットであるLinkedIn会社ページの管理者としてフラグを立てる必要がありますAPI呼び出しの。作成すると、ページの管理者になります。ページが既に存在する場合は、既存の管理者に連絡して、他のLinkedInメンバーに管理者アクセスを許可する必要があります。
対象会社とやり取りするための適切な管理者権限がない場合、API呼び出しは403 Forbiddenエラーを返します。
そして最初の行では、
2015年2月12日、開発者プログラムに対する一連の変更を発表しました。これらの変更は影響を及ぼし始めており、2015年5月12〜5月19日の間にLinkedInアプリケーションベース全体にロールアウトされます。
運が悪いのです。
LinkedInから会社の詳細にアクセスするには、認証されたリクエストを行う必要があります(会社の管理者である必要があります)。認証された呼び出しについては、このリンクをたどってください。 https://developer.linkedin.com/docs/oauth2# !
とにかく、会社の詳細にアクセスするには、権限rw_company_adminが必要です。そのためには、アプリの設定でデフォルトのアプリケーション権限を確認する必要があります。また、承認コードをリクエストするときにscopeを指定する必要があることに注意してください。
このメソッドを使用して、会社の認証コードを取得します
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope = rw_company_admin
私は間違いなく会社の管理者でしたが、これにも問題がありました。その会社を自分のプロファイルの現在の作業場所として追加すると、APIは期待どおりに応答し始めました。