4

一直在寻找高低,找不到任何相关的答案。我想知道是否有人遇到过 Tumblr API v2 调用,它可以让你从私人博客访问数据。我想在提供身份验证的同时从我的一些私人博客中发布和检索列表。

谢谢

4

2 回答 2

5

使用对 API 的正确 OAuth 调用以及私人博客的访问令牌,可以使用 Tumblr API v2访问该私人博客的至少部分信息。

以下是我的一些观察:

  • api.tumblr.com/v2/ blog /{base-hostname}/ posts

    通常,您使用您的公共 API 密钥进行此调用,这样您就可以访问任何非私有 Tumblr 的帖子。

    然而! 好消息:如果您在发出此请求时包含完整的 OAuth 标头,它将返回私人 Tumblr 帐户的帖子列表。当然,您需要该 Tumblr 的访问令牌来执行此操作。是的,我已经尝试过了,做到了,并且有效。

    如果您使用您的消费者 API 密钥,例如

    api.tumblr.com/v2/blog/{base-hostname}/posts?api_key=w8878374r384r...
    

    那么你将一无所获。您必须使用所有正确的 OAuth 参数发出经过完全身份验证的请求。

  • api.tumblr.com/v2/ blog /{base-hostname}/ info

    对私人博客根本不起作用,即使使用所有正确的 OAuth 东西来进行 API 调用也是如此。

  • api.tumblr.com/v2/用户/信息

    通常这会为给定的经过身份验证的用户返回一个“博客”列表。但是,任何私人 tumblr 都不会出现在此博客列表中。

笔记:

  • 我没有用私人博客测试过许多其他 API 调用,所以我无法确定创建/编辑/删除帖子是否有效。

  • 我根本没有用 xAuth 测试过这个,只有常规的 OAuth 和通过“网络授权流程”获得的标准访问令牌

于 2012-06-20T20:12:28.030 回答
-1
$conskey = "CONSUMER KEY";
$conssec = "CONSUMER SECRET";

$tumblr_blog = "myblog.tumblr.com";
$to_be_posted = "This is the text to be posted";

$oauth = new OAuth($conskey,$conssec);
$oauth->fetch("http://api.tumblr.com/v2/blog/".$tumblr_blog."/post", array('type'=>'text', 'body'=>$to_be_posted), OAUTH_HTTP_METHOD_POST);

$result = json_decode($oauth->getLastResponse());

if($result->meta->status == 200){
  echo 'Success!';
}

尝试使用 API 将上面的代码发布到您的博客。

希望有帮助。

于 2012-08-27T14:13:03.147 回答