我不想在页面上直接显示评论,而是要链接到disqus.com上相应线程页面的链接。两个问题:
说明性信息:
Disqus每个网站都有一个单独的页面,您可以在其中看到所有评论的页面:
https://disqus.com/home/forum/%SITENAME%/
,其中%SITENAME%
是Disqus为您的网站使用的论坛名称。
每个有注释的(!)页面都有其自己的URL,如下所示:https://disqus.com/home/forum/%SITENAME%/__1234/
,其中__1234
是Disqus使用的内部ID(线程ID?)的示例。请注意,这不是通过JS变量this.page.identifier
设置的页面ID。
答案 0 :(得分:0)
这是我最终得到的解决方案。
1。如何获取页面的Disqus线程ID(或线程URL)?
他们称它为线程段。可以采用threads/detail
端点的形式。在此处查看文档:{{3}}
这是jQuery ajax代码示例:
$.ajax({
type: 'GET',
url: "https://disqus.com/api/3.0/threads/details.json", // API endpoint
data: {
api_key: '%YOUR_API_KEY%',
forum : '%YOUR_FORUM_NAME%',
thread: 'ident:%PAGE_IDENTIFIER%', // get thread by identifier
thread: 'link:' + %PAGE_URL%, // OR get thread by page url
},
cache: false,
dataType: 'jsonp', // for cross-domain requests
success: function (result) {
var slug = result.response.slug; //this will contain the thread slug
// let's update the link somewhere on the page
$('.disqus-comments-link')
.attr('href','https://disqus.com/home/discussion/%YOUR_FORUM_NAME%/' + slug + '/');
}
});
2。如果以前没有发表评论,是否可以创建话题?
它更复杂。如果您将上面的代码用于从未运行过Disqus脚本的页面,则线程slug将为空,因为需要首先创建它。
可以通过两种方式创建线程页面:
threads/create
API端点手动进行。它需要身份验证,目前处于测试阶段。在此处查看文档:{{3}} 结果:我没有运行手动创建线程,而是运行了Disqus初始化脚本,然后通过API获取线程。就是这样。