API yandex webmaster

(Ответов: 2, Просмотров: 1317)
  1. Дипломник Аватар для Stza
    • Регистрация: 20.04.2015
    • Сообщений: 200
    • Репутация: 64
    Проблема с отправкой строки авторизации в заголовке при GET запросе

    Каждый раз выдает ошибку 401 не авторизован, какие только воображению подвластны форматы делал.


    Яндекс рекомендует так:

    GET /api/v2/hosts/12341234 HTTP/1.1
    Host: webmaster.yandex.ru
    Authorization: OAuth cd2ae3aefc344f9194be8264d3fb4f03

    Ни одного примера строки, которая работает я не нашел. Как буд-то это тема под запретом.

    Подскажите, знающие люди
    • 0
  2. Опытный
    • Регистрация: 21.11.2013
    • Сообщений: 407
    • Репутация: 58
    Формируете URL.Потом используете CURL для отсылки запросов. Вроде он во всех ЯП есть.
    НО! Необходимо посылать запрос с нормальным заголовком авторизации.
    Пример на эту тему http://stackoverflow.com/questions/8...custom-headers
    Ставите вместо примера вот это - Authorization: OAuth cd2ae3aefc344f9194be8264d3fb4f03 (то что в старт посте)
    Шлете потом запрос после всех приготовлений. Должно работать. Иначе пишите суппорту Яши либо кидайте весь код сюда,посмотрим. Желательно чтобы он был на PHP.
    • 0
  3. Студент Аватар для parserrf
    • Регистрация: 03.03.2012
    • Сообщений: 89
    • Репутация: 20
    • Webmoney BL: ?
    Вот точно рабочий код:

    PHP код:
    function postKeys($url,$post=false,$headers=false) {
        
    $handle=curl_init();
        
    curl_setopt($handleCURLOPT_URL$url);

        if (
    $headers)
            
    curl_setopt($handleCURLOPT_HTTPHEADER$headers);

        
    curl_setopt($handleCURLOPT_SSL_VERIFYPEERfalse);
        
    curl_setopt($handleCURLOPT_SSL_VERIFYHOSTfalse);

        if (
    $post) {
            
    $post_arr=array();
            foreach (
    $post as $key=>$value)
            
    $post_arr[]=$key."=".$value;
            
    $data=implode('&',$post_arr);
            
    curl_setopt($handleCURLOPT_POSTtrue);
            
    curl_setopt($handleCURLOPT_POSTFIELDS$data);
        }

        
    curl_setopt($handleCURLOPT_RETURNTRANSFERtrue);
        
    $response=curl_exec($handle);
        
    $code=curl_getinfo($handleCURLINFO_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;
            }
        } 
    • 0

Тэги топика:

Похожие темы

Темы Раздел Ответов Последний пост
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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры