LinkedIn の開発者バックエンドを介してアプリケーションを作成した後、クライアントにユーザーを管理者として承認してもらいました。クライアントに独自のアプリケーションを作成してもらい、クライアントキーを提供してもらいましたが、会社の更新を取得しようとすると、毎回同じエラーメッセージが表示されます。
「メンバー 0 には会社 1311XXX を取得する権限がありません」
そのページのコードは次のとおりです。
$config['base_url'] = 'http://www.hiddenlink.com/resources/li-oauth-src/auth.php';
$config['callback_url'] = 'http://www.hiddenlink.com/resources/li-oauth-src/demo.php';
$config['linkedin_access'] = '770lXXXXXXXXXX';
$config['linkedin_secret'] = 'hcxpOtXXXXXXXXXX';
include_once "linkedin.php";
# First step is to initialize with your consumer key and secret. We'll use an out-of-band oauth_callback
$linkedin = new LinkedIn($config['linkedin_access'], $config['linkedin_secret'], $config['callback_url'] );
//$linkedin->debug = true;
if (isset($_REQUEST['oauth_verifier'])){
$_SESSION['oauth_verifier'] = $_REQUEST['oauth_verifier'];
$linkedin->request_token = unserialize($_SESSION['requestToken']);
$linkedin->oauth_verifier = $_SESSION['oauth_verifier'];
$linkedin->getAccessToken($_REQUEST['oauth_verifier']);
$_SESSION['oauth_access_token'] = serialize($linkedin->access_token);
header("Location: " . $config['callback_url']);
exit;
}
else{
$linkedin->request_token = unserialize($_SESSION['requestToken']);
$linkedin->oauth_verifier = $_SESSION['oauth_verifier'];
$linkedin->access_token = unserialize($_SESSION['oauth_access_token']);
}
$json_response = $linkedin->getCompanyUpdates("1311XXX");
$json = json_decode($json_response);
echo "<pre>";
print_r($json);
echo "</pre>";
for($x = 0; $x < 2; $x++){
$json_value = $json->values[$x];
$articleURL = $json_value->updateContent->companyStatusUpdate->share->content->eyebrowUrl;
$postTitle = $json_value->updateContent->companyStatusUpdate->share->content->title;
$description = htmlspecialchars($json_value->updateContent->companyStatusUpdate->share->content->description);
$timestamp = $json_value->updateContent->companyStatusUpdate->share->timestamp;
echo '<pre>';
print_r($description);
echo '<br />';
print_r($articleURL);
echo '<br />';
print_r($postTitle);
print_r(date("jS M, Y", $timestamp));
echo '</pre>';
}
以下は、json_response 変数に対して呼び出される getCompanyUpdates 関数のコードです。
function getCompanyUpdates($id){
$updateURL = $this->base_url . "/v1/companies/" . $id . "/updates?format=json";
$request = OAuthRequest::from_consumer_and_token($this->consumer, $this->access_token, "GET", $updateURL);
$request->sign_request($this->signature_method, $this->consumer, $this->access_token);
$auth_header = $request->to_header("https://api.linkedin.com"); # this is the realm
$response = $this->httpRequest($updateURL, $auth_header, "GET");
return $response;
}
何が間違っているのかまったくわかりませんが、何か間違っていることは明らかです。どんな助けでも大歓迎です