Эй, я пытаюсь использовать OAuth LinkedIn в PHP.Я застрял на первом этапе получения токена запроса.Все, что я знаю, - вы публикуете некоторые значения на их сервере и получаете свой токен обратно.Поэтому я отправляю задокументированные аргументы в 'https://api.linkedin.com/uas/oauth/requestToken' и получаю сообщение об ошибке 400.
вот запрос:
$postArr = array();
//$postArr["oauth_callback"] = ""; idk they said this was optional...
$postArr["oauth_consumer_key"] = "ForBritishEyesOnly"; //is this the application secret key or the api key?
$postArr["oauth_nonce"] = "UltraRandomNonceFTW";
$postArr["oauth_timestamp"] = time();
$postArr["oauth_signature_method"] = "HMAC-SHA1"; //lolwut
$postArr["oauth_version"] = "1.0";
$params = array('http'=>array('method'=>'post','content'=>http_build_query($postArr)));
$context = stream_context_create($params);
$stream = file_get_contents('https://api.linkedin.com/uas/oauth/requestToken', false, $context);
Я не думаю, что мои аргументы POST верны, ноЛЮБАЯ помощь очень ценится - я просто не хочу прибегать к помощи чужой библиотеки, чтобы решить эту проблему.
------- РЕДАКТИРОВАТЬ: ПОПЫТКА 2 на вход Джеймса ---------
хорошо, вот я звоню по тестовой ссылке, которую вы мне прислали,я на самом деле могу получить ответ, но мне не нравится моя подпись (большой сюрприз, я знаю).Так насколько плохо я испортил шифрование?
//setup GET args
$url = "http://term.ie/oauth/example/request_token.php?";
$url .= "oauth_version=1.0&";
$url .= "oauth_nonce=" . rand(0, 100000) . "&";
$url .= "oauth_timestamp=" . time() . "&";
$url .= "oauth_consumer_key=key&";
$url .= "oauth_signature_method=HMAC-SHA1&";
//encrypt the request according to 'secret'
$sig = urlencode(base64_encode(hash_hmac("sha1", $url, "secret")));
//append the url encoded signature as the final GET arg
$url .= "oauth_signature=" . $sig;
//do it to it
echo file_get_contents($url);
РЕДАКТИРОВАТЬ Джеймсом
Попробуйте:
//setup GET args
$url = "http://term.ie/oauth/example/request_token.php?";
$url .= "oauth_consumer_key=key&";
$url .= "oauth_nonce=" . rand(0, 100000) . "&";
$url .= "oauth_signature_method=HMAC-SHA1&";
$url .= "oauth_timestamp=" . time() . "&";
$url .= "oauth_version=1.0&";