fooleap / disqus-php-api

利用 PHP cURL 转发 Disqus API 请求
MIT License
302 stars 53 forks source link
disqus

Disqus PHP API

利用 PHP cURL 转发 Disqus API 请求

Disqus 被墙,故做几个简单的接口,用于墙内环境访问 Disqus。

实现功能

注:由于 GDPR,Disqus 目前屏蔽了 Email 及 IP 的获取,因此 Gravatar 头像及匿名评论的邮件通知暂无法完美实现。目前暂存匿名评论者邮箱号,以发回复邮件通知显示 Gravatar 头像。

Disqus 设置

使用 API 实现匿名评论功能,需在 Disqus 后台网站设置,设置相关选项。

后端

重要

必须在 Disqus API 申请注册一个 App,取得相关的公钥(API Key)、私钥(API Secret),并填写于后端的配置文件 config.php 中。

App 设置方面,回调链接请填写 login.php 文件的绝对地址,主要的设置如下图,可根据自己情况填写。

Disqus API 相关设置

邮件发送

简易评论框及 Disqus 评论框皆可实现,规则如下:

  1. 匿名者的回复提醒邮件(只有邮箱号存在才会发送)
  2. 管理员的留言提醒邮件(只有设置未勾选站点邮件提醒时发送,管理员回复不发提醒)

前端

DEMO: http://blog.fooleap.org/disqus-php-api.html

项目将 Disqus 原生评论框加载代码打包在内,若使用本评论框,需将网页上所有与 Disqus 相关的元素清除,例如 id 为 disqus_thread 的容器、disqus_config 函数等。

Disqus 评论框的相关配置disqus_config

关于 Disqus 原生评论框配置的说明,可以看此页面:https://help.disqus.com/customer/portal/articles/472098-javascript-configuration-variables

引入 CSS

<link rel="stylesheet" href="https://github.com/fooleap/disqus-php-api/blob/master/path/to/iDisqus.min.css" />

创建容器

<div id="comment"></div>

引入 JS

<script src="https://github.com/fooleap/disqus-php-api/raw/master/path/to/iDisqus.min.js"></script>

创建实例

var disq = new iDisqus('comment', {
    forum: 'ifool',
    api: 'http://api.fooleap.org/disqus',
    site: 'http://blog.fooleap.org',
    mode: 1,
    timeout: 3000,
    init: true
});

配置参数

ID

OPTIONS

api
forum
site
url
identifier
title
mode
timeout
toggle
init
autoCreate
emojiPath
emojiList
emojiPreview
relatedType

实例方法

init

destroy

count

postsList