fooleap / disqus-php-api

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

换了授权登录版本后评论不了 #21

Closed ijglb closed 6 years ago

ijglb commented 6 years ago

换了授权登录版本后,按照说明去申请和填好apikey了,其他好像都没什么问题,就是评论不了。 简易评论框点登录按钮也能成功登录,但就是发不了评论。 浏览器调试发现postcomment.php返回: {"code":5,"response":"Invalid API key"}

apikey也仔细检查了几遍,没有发现问题出在哪

ijglb commented 6 years ago

调试页面:http://www.ijglb.com/about

fooleap commented 6 years ago

我刚试了一下,感觉挺奇怪的,能正常登录,说明申请的 api_key、api_secret 应该都没问题。 其他文件是否最新,包括 postcomment.php

ijglb commented 6 years ago

文件都是最新的,我换新版的时候直接把旧的所有文件删掉再重新上传的。 最开始出现的问题是评论后返回错误大意是不能使用get访问资源,然后我在curl_post里面加了一句 curl_setopt($curl, CURLOPT_POST, true); 之后提示的就是这个apikey的错误了

ijglb commented 6 years ago

或者和我在disqus申请了2个app有没有关系?我有两个站都用这个api,php文件两个站分两份在两个文件夹里,分别使用申请来的不同app里的key,都是评论不了这个情况

fooleap commented 6 years ago

最开始那个错误能不能重现?你的两个站是用同一个 forum,还是不同的 forum?感觉关系不大。

ijglb commented 6 years ago

用的不同forum。我还原回一开始的错误了

fooleap commented 6 years ago

一时找不出原因,之前还是一样的服务器环境,然后正常? 我看你前端每次点击提交都是两次事件……

ijglb commented 6 years ago

旧版本同样的环境正常,我明天再详细检查一下。

fooleap commented 6 years ago

如果几个 api key 其中有任何一个填错,加载评论列表、登录等操作没法这么流畅。 问题出在 PHP cURL 的 POST 操作,要不你输出下你的 phpinfo()

ijglb commented 6 years ago

http://disqus.ijglb.com/phpinfo.php 你看一下

fooleap commented 6 years ago

可能因为 curl_post() 里面有两个 $data。我刚测试了一下,可以重现 Invalid API key 的错误,就是有些奇怪怎么突然就有问题了。 我改了一下传上去了,init.php 更新一下试试。

ijglb commented 6 years ago

我在这个版本之上调整后能用了。 和之前一样,先是不能get的错误,加上curl_setopt($curl, CURLOPT_POST, true);后开始出现Invalid API key错误,然后我尝试在curl_setopt_array后面把$options的所有参数都重新设置一遍: curl_setopt($curl, CURLOPT_URL, $curl_url); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Host: '.$curl_host,'Origin: https://disqus.com')); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_ENCODING, 'gzip, deflate'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $fields_string);

就可以用了 会不会是我php版本的问题?对curl_setopt_array支持问题?

fooleap commented 6 years ago

PHP 版本应该够高的,如果是对 curl_setopt_array 支持有问题,那么在前面的授权、获取评论列表等操作也无法进行。 也许 PHP cURL 操作那样写,对有些版本可能会有问题。