php - 使用 PHP Google_Client、Google_Service_Blogger 通过 API v3 列出 Blogger 帖子

标签 php blogger google-api-php-client

我正在使用 Google PHP 客户端库来访问 Google API(参见 reference)

我正在尝试从私有(private)博客中获取帖子列表(与 RSS 提要中的内容相同)。私有(private)博主博客显然没有开放的 RSS 提要,所以这是我对两者的尝试

  1. 以编程方式检索博客内容
  2. 满足博客的隐私限制。

API 客户端中使用的 token 是博客的授权读者。

这是代码。这一切都很好(连接、检索正确的博客对象等),但在尝试使用 getItems 函数本身获取发布数据时失败(参见 library source,第 2007 行)。 返回一个空数组

$client= new Google_Client();
$client->setClientId(GGL_CLIENTID);
$client->setClientSecret(GGL_SECRET);
$client->setRedirectUri(GGL_REDIRECT);
$client->refreshToken(GGL_TOKEN);
$service=new Google_Service_Blogger($client);

$blog      = $service->blogs->getByUrl('http://MYBLOG.blogspot.com/');
$blogName  = $blog->getName();
$blogUrl   = $blog->getURL();
$postsObj  = $blog->getPosts();
$postCount = $postsObj->getTotalItems();
$posts     = $postsObj->getItems();

echo "BLOG NAME: $blogName \n";
echo "BLOG URL: $blogUrl \n";
echo "TOTAL POSTS: $postCount \n";
echo "POST DATA: \n"; print_r($posts);

鉴于通过 getTotalItems 显示的帖子数量正确,我相信所有管道都是正确的。返回帖子数据需要什么?

注意:我知道客户端库处于测试阶段,所以这可能是一个有待填补的漏洞。

最佳答案

echo "POST DATA: \n"; print_r($posts);

你的替换:

$blogId = $blog->getId();
$post = $service->posts->listPosts($blogId);
print_r($post);

关于php - 使用 PHP Google_Client、Google_Service_Blogger 通过 API v3 列出 Blogger 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496025/

相关文章:

PHP jQuery 移动 ListView 链接返回 "undefined"

php - PHP 的 Google 应用引擎不加载 mysql

php - 在 Doctrine 中使用现有的数据库条目作为外键

html - 使按钮大小与屏幕宽度相同

javascript - 从 JavaScript 中找出博客访问者的唯一 ID(他们的 Google 帐户、GMail 等)

php - 如何在 PHP 中自动发布到 google plus?

symfony - Google_Service_Exception 错误 500 未捕获

PHP、MySQL 和 Google Maps API 按城市和州名称生成 POI?

javascript - 无法读取未定义的属性 'length' 很少发生

c# - 如何使用博客文章附加图像 - Google Blogger API - C# - VB.Net