Rest 从Kobo工具箱获取数据
我想从koboapi()获取表单数据。我从kobo注册了客户端应用程序。为了授权客户端应用程序,我在url下面运行,但结果是Rest 从Kobo工具箱获取数据,rest,curl,Rest,Curl,我想从koboapi()获取表单数据。我从kobo注册了客户端应用程序。为了授权客户端应用程序,我在url下面运行,但结果是 http://localhost/kobo/o/authorize?client_id=MY_CLIENT_iD&response_type=code&state=xyz 找不到对象! 在此服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试 如果您认为这是服务器错误,请联系网站管理员 错误404 本地服务器 Apache/2.4.27(
http://localhost/kobo/o/authorize?client_id=MY_CLIENT_iD&response_type=code&state=xyz
找不到对象! 在此服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试 如果您认为这是服务器错误,请联系网站管理员 错误404 本地服务器 Apache/2.4.27(Win32)OpenSSL/1.0.2l PHP/7.1.9
同样,请求访问令牌也会导致相同的错误
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/o/token/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=authorization_code&\ncode=PSwrMilnJESZVFfFsyEmEukNv0sGZ8&\nclient_id=MY_CLIENT_ID&\nredirect_uri=http://localhost:30000");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$headers = array();
$headers[] = "Content-Type: application/x-www-form-urlencoded";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
找不到对象! 在此服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试 如果您认为这是服务器错误,请联系网站管理员 错误404 本地服务器 Apache/2.4.27(Win32)OpenSSL/1.0.2l PHP/7.1.9
我正在使用xampp,并且已启用curl。您必须使用not 在这里签出文档 我的工作代码:
$url = 'https://kc.kobotoolbox.org/api/v1/stats';
$data = array (
// 'q' => 'nokia'
);
$params = '';
foreach($data as $key=>$value)
$params .= $key.'='.$value.'&';
$params = trim($params, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.'?'.$params ); //Url together with parameters
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 7); //Timeout after 7 seconds
//curl_setopt($ch, CURLOPT_HEADER , false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$header = array();
$header[] = 'Content-length: 0';
$header[] = 'Content-type: application/json';
$header[] = 'Authorization: Token xxxxxxxx';
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$result = curl_exec($ch);
if(curl_errno($ch)) //catch if curl error exists and show it
echo 'Curl error: ' . curl_error($ch);
echo $result;
你让它工作过吗?我也面临同样的问题。