Closed ijglb closed 6 years ago
我刚试了一下,感觉挺奇怪的,能正常登录,说明申请的 api_key、api_secret 应该都没问题。
其他文件是否最新,包括 postcomment.php
?
文件都是最新的,我换新版的时候直接把旧的所有文件删掉再重新上传的。 最开始出现的问题是评论后返回错误大意是不能使用get访问资源,然后我在curl_post里面加了一句 curl_setopt($curl, CURLOPT_POST, true); 之后提示的就是这个apikey的错误了
或者和我在disqus申请了2个app有没有关系?我有两个站都用这个api,php文件两个站分两份在两个文件夹里,分别使用申请来的不同app里的key,都是评论不了这个情况
最开始那个错误能不能重现?你的两个站是用同一个 forum,还是不同的 forum?感觉关系不大。
用的不同forum。我还原回一开始的错误了
一时找不出原因,之前还是一样的服务器环境,然后正常? 我看你前端每次点击提交都是两次事件……
旧版本同样的环境正常,我明天再详细检查一下。
如果几个 api key 其中有任何一个填错,加载评论列表、登录等操作没法这么流畅。
问题出在 PHP cURL 的 POST 操作,要不你输出下你的 phpinfo()
?
可能因为 curl_post()
里面有两个 $data
。我刚测试了一下,可以重现 Invalid API key 的错误,就是有些奇怪怎么突然就有问题了。
我改了一下传上去了,init.php
更新一下试试。
我在这个版本之上调整后能用了。
和之前一样,先是不能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支持问题?
PHP 版本应该够高的,如果是对 curl_setopt_array
支持有问题,那么在前面的授权、获取评论列表等操作也无法进行。
也许 PHP cURL 操作那样写,对有些版本可能会有问题。
换了授权登录版本后,按照说明去申请和填好apikey了,其他好像都没什么问题,就是评论不了。 简易评论框点登录按钮也能成功登录,但就是发不了评论。 浏览器调试发现postcomment.php返回: {"code":5,"response":"Invalid API key"}
apikey也仔细检查了几遍,没有发现问题出在哪