Клуб API Вебмастера

Оригинальные тексты с чего начать...

mk-elpis
30 мая 2013, 13:13

Никогда не пользовался API.
Я начинающий веб-програмист.

Знаю только html css и основы php.

Хочу автоматизировать добавления огигинальных текстов на моем ресурсе.

Читал документацию как начать работать ну не очень получается понять как пользоваться.

Прошел регистрацию приложения, поставил "получать информацию о внешних ссылках." ждемт примодерации.

Нет ли где-то более простого мануала как и что подключать и куда?

Как получать этот самый токен и куда на сайт прикручивать... 
Куда эти все заголовки ставить, может есть фрагменты кода где-то как примеры?

 

6 комментариев
Подписаться на комментарии к посту

Никто не подсказал...
Ну я продвинулся немного...
Зарегестрировал, получил токен, написал такой скрипт:
$client_id = "***********";
$client_secret = "************";
$token = "******************";

$text = ' Мой новый текст....';
$data = urlencode('>'.$text.'ent>');


$headers = array(

        'POST' => '/api/v2/hosts/'.$client_id.'/original-texts/ HTTP/1.1',

        'Host'=> 'webmaster.yandex.ru',

        'Authorization'=> 'OAuth '.$token,

        'Content-Length'=> strlen($data),

        'Content-type'=> 'application/x-www-form-urlencoded');

 

    $url = "https://oauth.yandex.ru/";

 

    $handle = curl_init();

    curl_setopt($handle, CURLOPT_URL, $url);

    curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);

    curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);

    curl_setopt($handle, CURLOPT_POST, true);

    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($handle, CURLOPT_POSTFIELDS, $data);

    curl_setopt($handle, CURLOPT_USERAGENT, 'http://www.site.ru');

   curl_exec($handle);

    $code = curl_getinfo($handle, CURLINFO_HTTP_CODE);


    print_r(iconv('UTF-8','windows-1251',$response));


    return array("code"=>$code,"response"=>$response);
?>

 


Подсажите, что делаю не так.

не решил проблему?

1. 'Content-Length'=> '1000', - не соответствует длинне отправляемых данных, 1000 надо поменять, на strlen от $data

2. urlencode надо делать для самого текста, т.е. для $text, а не для '

>'.$text.''

 

  2. Документацию почитай: http://api.yandex.ru/webmaster/doc/dg/reference/host-original-texts-add.xml

 

 

Внимание! Пересылаемые данные должны быть URL-кодированы:
%3Coriginal-text%3E%3Ccontent%3ETest%3C%2Fcontent%3E%3C%2Foriginal-text%3E

 

 

print_r($response); допиши перед возвратом

в общем с учетом всех вышеизложенных замечаний поправил скрипт выше...

в print_r() приходит следующее:

"

Ошибка 403 – Доступ внешних приложений
 Токен CSRF отсутствует или неверен

"
Но токен точно присутсвует и точно верен.
Ошибка в чем-то другом...

Уверен, что кто-то здесь уже точно реализовал это...
Подскажите пожалуйста... что не так-то..