1

我已经尝试对这个主题进行研究,但是我做的越多,我就越困惑——似乎 Tumblr 的 API 上的文档到处都是(而且相当过时?);所以也许有人会对我有一些建议。

我要做的就是抓住我最近的 Tumblr 帖子并将它们显示在我网站的主页上;没什么太花哨的。我不需要发布到 tumblr,我只需要信息;我的想法是,我正在与之合作的团队希望将 Tumblr 用作一种穷人的 CMS,同时保持他们在 Tumblr 网站上的存在。

我可以使用 PHP 和 SimpleXML ( http://username.tumblr.com/api/read )轻松检索帖子- 但这在简单文本帖子之外没有提供太多支持(其他内容,如视频、照片集等 - 发布不同);而且它看起来不像是官方支持的访问 tumblr 数据的方法(或者..也许是?)。Tumblr 本身将人们指向tumblr.php,但我一生都无法弄清楚如何设置它,因为对于刚开始涉足的人来说,没有真正的文档。StackOverflow 上的一些帖子说 Tumblr.php 不再工作,并指向tumblrOauth.php,但我遇到了同样的问题。没有真正的“API 新手”文档。我知道如何在 Tumblr 中设置我的“应用程序”——我只是不知道所有 Github 文件(对于这两个系统)如何相互通信/页面......

有人有什么建议吗?我只是在寻找正确方向的一点,也许是关于如何连接这些位的初步推动?

非常感谢电子朋友!

4

1 回答 1

8

嘿,我使用了一些 API,但没有使用 Tumblr API,在阅读此页面后:http ://www.tumblr.com/docs/en/api/v2我很确定我了解如何设置它所以我会试着解释一下,如果你成功了,你可以告诉我

(删除代码,PHP API 很糟糕)

编辑:删除原始编辑

就因为 Tumblr PHP 客户端是垃圾,所以我自己看了一下,只是设计了一小段代码来解决这里的问题,并在一个数组中检索你的最新帖子,这会给你这样的:

Array
(
    [0] => Array
        (
            [id] => 49867777007
            [type] => photo
            [description] => 
            [date] => 2013-05-07 18:28:41 GMT
            [short_url] => http://tmblr.co/Z5XfMxkSMUFl
            [caption] => 
            [photo_url] => http://31.media.tumblr.com/a13494fb3cda1e40ab39211973a094f9/tumblr_mm0038sZGH1qdlh1io1_400.gif
            [width] => 395
            [height] => 350
        )

使用此代码,然后$myposts在页面上稍后浏览

<?php
    $apikey = "your_api_key";
    $limit = 10;
    $tumblr = "your.tumblr.com";

    $apidata = json_decode(file_get_contents("http://api.tumblr.com/v2/blog/$tumblr/posts?api_key=$apikey&limit=$limit"));

    $mypostsdata = $apidata->response->posts;
    $myposts = array();

    $i = 0;
    foreach($mypostsdata as $postdata) {
        $post['id'] = $postdata->id;
        $post['type'] = $postdata->type;
        $post['description'] = $postdata->description;
        $post['date'] = $postdata->date;
        $post['short_url'] = $postdata->short_url;
        $post['caption'] = $postdata->caption;

        $post["photo_url"] = $postdata->photos[0]->original_size->url;
        $post["width"] = $postdata->photos[0]->original_size->width;
        $post["height"] = $postdata->photos[0]->original_size->height;

        $myposts[$i] = $post;
        $i++;
    }

    // Then handle $myposts later on your page
    echo '<pre>'.print_r($myposts).'</pre>';

    // There's quite a lot more data you can use so if you want
    // to print out $mypostsdata then you might find any more data you need
?>

抱歉,之前的建议不起作用,PHP 客户端真的很糟糕,但如果这足够了,或者您需要对其进行一些修改,请告诉我

于 2013-09-23T21:34:40.697 回答