Ошибка при работе библиотеки codeigniter для google reader при попытке войти в систему и получить данные фида - PullRequest
1 голос
/ 24 октября 2010

Я пытаюсь заставить эту http://www.forgottenexpanse.com/projects/ci_reader библиотеку CodeIgniter для взаимодействия с Google Reader работать.

При выполнении примеров на странице это работает нормально:

$this->load->library('reader');
$shared_items = $this->reader->shared_items('12006118737470781753');

foreach ($shared_items['items'] as $entry) {
    echo $entry['title'];
}

Но когда я пытаюсь получить доступ к закрытым данным, войдя в систему:

$this->load->library('reader');
$credentials = array('email' => 'me@gmail.com', 'password' => 'mypassword');
$this->reader->initialize($credentials);

$shared_items = $this->reader->shared_items();
foreach ($shared_items['items'] as $entry) {
    echo $entry['title'];
}

Я получаю кучу предупреждений, связанных со строкой 454 библиотеки / Reader.php, например:

Сообщение: simplexml_load_string (): Сущность: строка 128: ошибка синтаксического анализатора: StartTag: недопустимое имя элемента

Я надеюсь, что у кого-то есть идея, что может происходить здесь.

Большое спасибо!

1 Ответ

2 голосов
/ 24 октября 2010

Библиотека, на которую вы указываете, все еще использует cookie SID для аутентификации в Reader. Это было устарело несколько месяцев назад. Новые предпочтительные схемы аутентификации - OAuth или ClientLogin с токеном аутентификации; оба описаны в http://code.google.com/p/google-reader-api/wiki/Authentication.

В этом конкретном случае вам придется изменить функцию _login, чтобы получить токен Auth из ответа ClientLogin. После того, как он у вас есть, вам также нужно изменить функцию _fetch, чтобы она включалась в заголовок Authorization (вместо добавления файла cookie).

...