一直在寻找高低,找不到任何相关的答案。我想知道是否有人遇到过 Tumblr API v2 调用,它可以让你从私人博客访问数据。我想在提供身份验证的同时从我的一些私人博客中发布和检索列表。
谢谢
使用对 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 和通过“网络授权流程”获得的标准访问令牌
$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 将上面的代码发布到您的博客。
希望有帮助。