我关注此topic。我的目的我想登录谷歌与php和curl批准访问应用程序获取authorization和登录后批准。
我想创建用于向博客添加新帖子的脚本。
这是我的代码:
Error: invalid_request
Required parameter is missing: response_type
从此代码我收到错误消息。
def parentIdList = [0,1,2,3,2]
def idList = [1,2,3,4,5]
tree = [parentIdList, idList].transpose().groupBy{it[0]}.collectEntries{ [it.key, it.value*.get(1)] }
def childs(l) {
l.collect{ tree.get(it) }.findAll().flatten().toSet()
}
def descendants(descendentList) {
def newresults = childs(descendentList)
def results = [].toSet() + descendentList
while (newresults.size()) {
results.addAll(newresults)
newresults = childs(newresults) - results
}
return results
}
assert descendants([2]) == [2,3,4,5].toSet()
assert descendants([2,1]) == [1,2,3,4,5].toSet()
assert descendants([3]) == [3,4].toSet()
当我看到请求网址时。它有参数" response_type"。
我该怎么办?
对不起。我的英语不好。
答案 0 :(得分:1)
你把参数放在错误的地方。
curl_setopt($ch, CURLOPT_URL,$request_to);
应该是:
curl_setopt($ch, CURLOPT_URL,$url);
您似乎在这里意外删除了一些选项:
curl_setopt($ch, CURLOPT_URL,
$request_to);
$data = curl_exec($ch);
我没有得到第二个请求,第一个看起来很乱。
看起来你复制并粘贴了一堆无意义的代码。
params毫无意义。
$params = array(
"response_type" => "code",
"client_id" => "myclient_id",
"redirect_uri" => "redirect_uri from setting",
"scope" => "https://www.googleapis.com/auth/blogger");
这是我为清除第一个请求的curl选项所能做的最好的事情:
$request_to = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_to);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie/blogger.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie/blogger.txt');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$data = curl_exec($ch);