Как я могу использовать API LinkedIn с Zend_OAuth? - PullRequest
0 голосов
/ 08 марта 2011

Я пишу оболочку класса для LinkedIn API и использую Zend Framework 1.11.2.Вот фрагмент, который у меня есть:

    $config = Pb_Portal::getInstance()->getConfig('linkedin.ini');

    $body = '<?xml version="1.0" encoding="UTF-8"?>';
    $body .= '<share>';
    $body .= '<comment>83% of employers will use social media to hire: 78% LinkedIn, 55% Facebook, 45% Twitter [SF Biz Times] http://bit.ly/cCpeOD</comment>';
    $body .= '<content>';
    $body .= '<title>Survey: Social networks top hiring tool - San Francisco Business Times</title>';
    $body .= '<submitted-url>http://sanfrancisco.bizjournals.com/sanfrancisco/stories/2010/06/28/daily34.html</submitted-url>';
    $body .= '<submitted-image-url>http://images.bizjournals.com/travel/cityscapes/thumbs/sm_sanfrancisco.jpg</submitted-image-url>';
    $body .= '</content>';
    $body .= '<visibility>';
    $body .= '<code>anyone</code>';
    $body .= '</visibility>';
    $body .= '</share>';

    $client = Zend_Oauth::getHttpClient();

    $client->setUri('http://api.linkedin.com/v1/people/~/shares');
    $client->setMethod(Zend_Http_Client::POST);
    $client->setRawData($body,'text/xml');
    $client->setHeaders('Content-Type', 'text/xml');
    $client->setParameterPost('oauth_consumer_key', $config->appKey);
    $client->setParameterPost('oauth_nonce', $config->appSecretKey);
    $client->setParameterPost('oauth_token', $acc->getToken());
    $client->setParameterPost('oauth_timestamp', time());
    $client->setParameterPost('oauth_signature_method', 'HMAC-SHA1');
    $client->setParameterPost('oauth_version', '1.0');

    $response = $client->request();

    $xml = @simplexml_load_string($response->getBody());

И у меня есть такой ответ:

SimpleXMLElement Object
(
    [status] => 401
    [timestamp] => 1299581073233
    [error-code] => 0
    [message] => Unknown authentication scheme
)

Может ли кто-нибудь мне помочь?Где я ошибаюсь?

Ответы [ 2 ]

0 голосов
/ 14 января 2013

Возможно, вам придется изменить способ написания оболочки класса.

Вы можете почерпнуть идею из этого поста и принять там ответ !!

Linkedin: Как сделать APIзвонки с использованием токена доступа?

удачи

0 голосов
/ 06 августа 2011

У меня была похожая проблема (хотя я просто получаю информацию о пользователе).Эта ссылка очень помогла.Вместо того, чтобы создавать параметры как переменные get, вы позволяете токену создавать клиент http из ваших опций.

http://www.contentwithstyle.co.uk/content/linkedin-and-zendoauth/

...