DISQUS API - 按URL查找线程

时间:2015-07-06 12:56:03

标签: php api disqus

我正在使用DISQUS API,我想通过URL搜索一个帖子。

我正在使用官方客户端库:https://github.com/disqus/disqus-php

所以基本上我已经创建了一个以这种方式调用API的函数:

     private function getThread($URL){

        $params = array(
            'forum' => $this->shortname,
            'thread' => ("link:" . $URL)
        );

        $thread = $this->API->threads->list($params);

        Debug::dump($thread);
        exit;
    }

然而,似乎URL过滤不起作用,因为返回的结果是我论坛中的所有线程。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:3)

我成功地提取了所需的信息:

require('disqusapi/disqusapi.php');

$disqus = new DisqusAPI('API_SECRET_KEY');

$thread = $disqus->forums->listThreads(array(
    'forum' => 'FORUM_SHORT_NAME',
    'thread' => 'link:URL_OF_THE_THREAD'
));

总而言之, link: 元素应该是实际参数值的一部分,而不是其他人建议的密钥。

答案 1 :(得分:1)

“link”不是有效的参数选项。要按URL过滤线程,您需要传递的参数是“thread:link”。

通过网址获取帖子: https://disqus.com/api/3.0/threads/list.json?api_key=[api_key]&forum=[forum]&thread:link=[url]

答案 2 :(得分:0)

我有同样的问题。它似乎不起作用的网址。而不是它显示最后25个线程。我试图通过disqus文档使用另一个disqus URL。我试过这个 https://disqus.com/api/3.0/threads/listPosts.json ,它会返回一个帖子中的帖子列表。虽然它不再起作用。我发现虽然如果你有线程的ID而不是URL,两者都有效。要做到这一点,我必须从我的网站上获取ID。然后将ID放在参数中并将其传递给URL。这似乎有点棘手,但对我来说它有用。另外,要显示的线程的最大值是100,所以如果你的线程太旧它将无法找到它。我试图添加更多参数,如类别,作者等,但仍然无法正常工作。所以在我看来,通过你的网站从线程中获取ID(我使用xmlDoc并通过getElemenetsByTag获取disqus代码,其中包含线程的ID)。我不知道我是否有所帮助,但你可以看到我也有同样的问题。不幸的是,Api并没有给你机会提供更多可能有用的参数。无论如何,它仍然很好。现在我将这样做。