![](/img/trans.png)
[英]How to get Disqus comment count for a page using Disqus PHP API?
[英]Get disqus comment count using PHP
對於我以及其他人來說,這似乎是一個持續存在的問題。但是,即使在發布本文時遵循“可能已經有您的答案的問題”下的鏈接,我仍然無法使它正常工作。
我真正想要的是通過傳遞帖子的標識符(或URL)來計算給定文章的評論數。
我已經從github下載了它: https : //github.com/disqus/disqus-php
並遵循這里的第一個答案: 如何使用Disqus PHP API獲取頁面的Disqus評論計數? 這似乎與我想要達到的目標最接近。 這讓我走了這么遠:
<?php
require_once('scripts/disqusapi/disqusapi.php');
$disqus = new DisqusAPI('secret_key');
$page_with_comments = $disqus->posts->details(array('thread'=>"LINK-IDENTIFIER"));
$comment_count = $page_with_comments->posts;
?>
但是,當我執行此操作時,出現此錯誤:
Fatal error: Uncaught exception 'Exception' with message 'Missing required argument: post' in /home/mugheads/public_html/scripts/disqusapi/disqusapi.php:82 Stack trace: #0 /home/mugheads/public_html/test.php(4): DisqusResource->__call('details', Array) #1 /home/mugheads/public_html/test.php(4): DisqusResource->details(Array) #2 {main} thrown in /home/mugheads/public_html/scripts/disqusapi/disqusapi.php on line 82
此錯誤表明您不能再使用“線程”來檢索所需的JSON。並且無論如何,我都無法找到出Disqus為該帖子使用的ID,就像使用“ post”一樣,因為該錯誤說明僅接受一個整數。
如果有人知道更簡單的方法,或者絕對可行的方法,請分享!
任何幫助將不勝感激!
我知道這是一個古老的問題,但是Google提出了很多這樣的SO問題,大部分都沒有任何可靠的答案或依賴於此Github API的答案,而這些API似乎運行得不太好。
我一直在努力爭取幾天的評論數,還嘗試了API類,這似乎使我的應用程序崩潰了(可能是由於同樣的致命錯誤)。
經過更多的搜索之后,我遇到了指向Disqus API的JSON輸出的鏈接,並在進行一些操作之后,編寫了一個快速的函數來獲取評論數:
function getDisqusCount($shortname, $articleUrl) {
$json = json_decode(file_get_contents("https://disqus.com/api/3.0/forums/listThreads.json?forum=".$shortname."&api_key=".$YourPublicAPIKey),true);
$array = $json['response'];
$key = array_search($articleUrl, array_column($array, 'link'));
return $array[$key]['posts'];
}
您需要注冊一個應用程序以獲取公共API密鑰,您可以在此處進行以下操作: https : //disqus.com/api/applications/
此功能的作用:
$json
數組返回有關您的注釋插件所在頁面的許多信息。 例如:
Array
(
[0] => Array
(
[feed] => https://SHORTNAME.disqus.com/some_article_url/latest.rss
[identifiers] => Array
(
[0] => CUSTOMIDENTIFIERS
)
[dislikes] => 0
[likes] => 0
[message] =>
[id] => 5571232032
[createdAt] => 2017-02-21T11:14:33
[category] => 3080471
[author] => 76734285
[userScore] => 0
[isSpam] =>
[signedLink] => https://disq.us/?url=URLENCODEDLINK&key=VWVWeslTZs1K5Gq_BDgctg
[isDeleted] =>
[raw_message] =>
[isClosed] =>
[link] => YOURSITEURLWHERECOMMENTSARE
[slug] => YOURSITESLUG
[forum] => SHORTNAME
[clean_title] => PAGETITLE
[posts] => 0
[userSubscription] =>
[title] => BROWSERTITLE
[highlightedPost] =>
)
[1] => Array
(
... MORE ARRAYS OF DATA FROM YOUR SHORTNAME FORUM ... etc
)
)
因為數組返回時沒有任何有用的頂級數組鍵,所以我們將通過列名鍵對數組進行array_search
,我們將知道:您的頁面URL,其中注釋插件為( [link]
)
然后,它將返回頂級數組鍵,在這種情況下為0
,然后我們可以將其傳遞回以從數組中提取所需的信息,例如總注釋(數組鍵posts
)。
希望這對某人有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.