Публикация в блоггере с использованием Zend Gdata - PullRequest
0 голосов
/ 27 апреля 2011

Я пытаюсь опубликовать в своем аккаунте блоггера, используя приведенный ниже код, но, похоже, он не работает. Я новичок в этом, я что-то упустил? Спасибо... `

<?php

$user = 'username@gmail.com';
$pass = 'password';

// I have to admit, I would normally use the autoloader
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Feed');

$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, 'blogger', null,
    Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
    Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');
$gdClient = new Zend_Gdata($client);

function createPublishedPost()
{
  $title='Hello, world!';
  $content='I am blogging on the internet.';
  $blogID= "4419618066922958909";
  $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default';
  $entry = $gdClient->newEntry();
  $entry->title = $gdClient->newTitle($title);
  $entry->content = $gdClient->newContent($content);
  $entry->content->setType('text');

  $createdPost = $gdClient->insertEntry($entry, $uri);
  $idText = split('-', $createdPost->id->text);
  $newPostID = $idText[2]; 

  return $newPostID; 
}

$ret = createPublishedPost();
echo $ret;
?>

`

Ответы [ 2 ]

0 голосов
/ 27 апреля 2011

Получил эксперименты ... Перемещено $gdClient = new Zend_Gdata($client); в функцию.Ранее это не было объявлено глобально.

0 голосов
/ 27 апреля 2011

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

  • Проверить, генерирует ли аутентификация какие-либо исключения
  • Проверить, генерирует ли insertEntry какие-либо исключения
  • Проверить, что вставка возвращает

См. Комментарии в коде, чтобы увидеть, что я изменил:

<?php

$user = 'username@gmail.com';
$pass = 'password';

// I have to admit, I would normally use the autoloader
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Feed');

//Checks if getHttpClient throws any exceptions
try {
   $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, 'blogger', null,
    Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
    Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');
} catch (Zend_Gdata_App_AuthException $ae) {
   echo 'Problem authenticating: ' . $ae->exception() . "\n";
}

$gdClient = new Zend_Gdata($client);

function createPublishedPost()
{
  $title='Hello, world!';
  $content='I am blogging on the internet.';
  $blogID= "4419618066922958909";
  $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default';
  $entry = $gdClient->newEntry();
  $entry->title = $gdClient->newTitle($title);
  $entry->content = $gdClient->newContent($content);
  $entry->content->setType('text');

  //Checks if insertEntry throws any exceptions
  try{
      $createdPost = $gdClient->insertEntry($entry, $uri);
  } catch (Zend_Gdata_App_AuthException $ae) {
      echo 'Problem authenticating: ' . $ae->exception() . "\n";
  }

  var_dump($createdPost); //Will print the variable and what type it is
  $idText = split('-', $createdPost->id->text);
  $newPostID = $idText[2]; 

  return $newPostID; 
}

$ret = createPublishedPost();
echo $ret;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...