簡體   English   中英

Disqus API:以訪客身份創建評論

[英]Disqus API: create comment as guest

我正在嘗試使用Disqus API將帖子添加到現有的討論區/論壇中。 在文檔中,我可以看到以訪客身份可以發送未經身份驗證的評論。 該文檔說: http : //disqus.com/api/docs/posts/create/

在兩種情況下允許匿名評論:

  1. 您正在使用舊版身份驗證和密鑰
  2. 您正在使用公共密鑰,來自經過驗證的引薦來源,未經身份驗證,並且嘗試在其中創建帖子的論壇在應用程序信任的論壇中列出。

要創建匿名評論,只需傳遞author_email和author_name,以及可選的author_url參數。

因此,我使用此代碼在PHP中創建注釋。 (我使用了一個非常簡單的cURL類,但是問題並不存在,因為我在disqus.com/api的控制台中得到了相同的類)

$curl = new Curl(1); 

$curl->addPostVar('thread','THREAD_ID');
$curl->addPostVar('message','Text message');
$curl->addPostVar('author_email','My email');
$curl->addPostVar('author_name','My name');
$curl->addPostVar('api_secret','My application secret API key');

echo $curl->exec('https://disqus.com/api/3.0/posts/create.json');

但是我通過JSON得到了錯誤

{"code": 4, "response": "You must be authenticated to perform this action"}

我知道其他人已經問過這個問題( Disqus API創建帖子錯誤 ),但是建議的響應是使用OAuth並獲得身份驗證。 但我不想進行身份驗證,我想發送帶有名稱和電子郵件的來賓評論。 我哪里錯了?

非常感謝您的任何答復。

要匿名評論,您將不會傳遞任何訪問令牌。 但是,您必須確保滿足以下條件:

  1. 在您的網站設置的“常規”下,確保選中“允許來賓評論”
  2. 在您的Disqus網站設置中的“高級”標簽下,將您的域添加為受信任的域
  3. 在API應用程序設置中,將來自受信任域的相同域添加到API應用程序的受信任域列表中
  4. 當您發出API請求以發布評論時,請確保您的“引薦來源”標頭具有位於這些受信任域之一中的域,並將“主機”標頭設置為“ .disqus.com”以作適當的選擇
  5. 使用您的公共密鑰發出API請求

我能夠遵循這些規則成功發出請求。

為了清楚起見,您需要擁有/審核網站,以便通過API向該網站發布匿名評論。 還要確保在執行此操作時傳遞一個額外的strict=1參數。 默認情況下,會刪除掉所有錯誤的可選參數,因此,如果author_name和author_email引發錯誤,您可能會遇到注釋以自己的方式發布的情況。

在檢查了明顯的事情(例如啟用來賓發布以及在論壇和應用程序設置中檢查我的引薦域)之后,我終於能夠使用disqus-php庫解決此問題:

require __DIR__ . '/disqus-php-master/disqusapi/disqusapi.php';

$disqus = new DisqusAPI($secret_key);

print_r($disqus->posts->create(array(
    'thread' => $thread_id,
    'message' => $message,
    'author_name' => $author_name,
    'author_email' => $author_email,
    'api_key' => $api_key,
)));

api_key是, api_key與您的Disqus應用程序設置中顯示的公共密鑰不同。 實際上,我必須檢查來自Disqus Javascript小部件的AJAX調用之一,以獲得正確的api_key

顯示api_key的Disqus AJAX調用標頭

我再次打開該線程,因為我有相同的問題,似乎還沒有答案。

我已經嘗試了幾天,以訪客身份通過API進行評論。 如果我閱讀了API文檔,它說我必須傳遞消息,author_name,author_url,thread和api_key來執行此操作,但不能執行此操作。 我總是得到

"Code: 12"

"This application cannot create posts on the chosen forum".

如果我通過access_token發送它可以工作,但是它將以我的身份發布,那不是我想要的。

我還在Github上找到了Disqus食譜 ,在“初學者”部分的自述文件中,它是指代碼段

“創建客人評論:/php/create-guest-comment.php”

但找不到代碼段。 因此,我仔細查看了提交內容,並找到了“刪除過時的來賓注釋創建腳本” 我是否應該暗示一下,Disqus目前無法通過API作為來賓創建評論? 如果是這樣,Disqus可能會更新您的文檔。

如果我做錯了事,我將不勝感激,請指出正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM