Проблема с отправкой строки авторизации в заголовке при GET запросе
Каждый раз выдает ошибку 401 не авторизован, какие только воображению подвластны форматы делал.
Яндекс рекомендует так:
GET /api/v2/hosts/12341234 HTTP/1.1
Host: webmaster.yandex.ru
Authorization: OAuth cd2ae3aefc344f9194be8264d3fb4f03
Ни одного примера строки, которая работает я не нашел. Как буд-то это тема под запретом.
Подскажите, знающие люди
- 23.03.2016 21:27
- 23.03.2016 22:40
- Регистрация: 21.11.2013
- Сообщений: 407
- Репутация: 58
Формируете URL.Потом используете CURL для отсылки запросов. Вроде он во всех ЯП есть.
НО! Необходимо посылать запрос с нормальным заголовком авторизации.
Пример на эту тему http://stackoverflow.com/questions/8...custom-headers
Ставите вместо примера вот это - Authorization: OAuth cd2ae3aefc344f9194be8264d3fb4f03 (то что в старт посте)
Шлете потом запрос после всех приготовлений. Должно работать. Иначе пишите суппорту Яши либо кидайте весь код сюда,посмотрим. Желательно чтобы он был на PHP. - 24.03.2016 00:20
Вот точно рабочий код:
PHP код:function postKeys($url,$post=false,$headers=false) {
$handle=curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
if ($headers)
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
if ($post) {
$post_arr=array();
foreach ($post as $key=>$value)
$post_arr[]=$key."=".$value;
$data=implode('&',$post_arr);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response=curl_exec($handle);
$code=curl_getinfo($handle, CURLINFO_HTTP_CODE);
return array("code"=>$code,"response"=>$response);
}
//чекаем вебмастер с полученным токеном
$webmaster_users=array();
$result=postKeys('https://webmaster.yandex.ru/api/v2/hosts',false,array('Authorization: OAuth '.$token));
//print_r($result);exit;
$code_webmaster=$result['code'];
if ($code_webmaster==200) {
$xml=new SimpleXMLElement($result['response']);
foreach ($xml->host as $host) {
$name=(string)$host->{'name'};
$name=str_replace('www.','',$name);
$host_link=(string)$host->attributes()->href;
$host_id=str_replace('https://webmaster.yandex.ru/api/v2/hosts/','',$host_link);
$webmaster_users[$name]=$host_id;
}
}
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Yandex Webmaster Support | Общие вопросы поисковой оптимизации | 4 | 04.04.2014 12:12 |
webmaster-support.neso.yandex.ru что это? | Поисковые системы | 6 | 03.04.2013 19:24 |
Нововведение в панеле webmaster.yandex | Поисковые системы | 8 | 06.12.2011 17:17 |
ПО для работы с админками webmaster.yandex.ru и webmaster.google? | Софт, скрипты, сервисы | 6 | 20.10.2011 15:04 |
ПО для работы с админками webmaster.yandex.ru и webmaster.google? | Вопросы от новичков | 0 | 20.10.2011 13:41 |