我最近使用kraken.io API,我正在尝试将这个API与我的PHP CodeIgniter框架集成。所以我按照文档进行操作,但在使用{
"content":
{
"version" : "1.1",
"env" : "test",
"id" : "1.1"
}
}
这是我的源代码。
getPosts = () => {
let that=this;
$.ajax({
type: 'get',
url: urlname,
success: function(data) {
that.setState( { posts: data } )
}
});
}
我得到了这个结果
curl
所以有人可以帮助我,
提前谢谢,
答案 0 :(得分:0)
不要发布您的API_KEY和API_SECRET
错误信息非常清楚,您的json对象无效。例如,这将是您的请求的有效JSON对象:
{
"auth": {
"api_key": "SOME",
"api_secret": "SECRET"
},
"file": "somefile.txt",
"wait": true
}
在您的PHP代码中,您正在设置$ params数组,但之后您不会使用它。试试这个:
$dataj='{"auth":{"api_key": "SOME_KEY", "api_secret": "SOME_SECRET"},"file":"' . $params["file"]. '", "wait":true}';
您可以验证JSON HERE
答案 1 :(得分:0)
您应该使用json_encode
函数来生成JSON数据
$dataj = json_encode([
"auth" => [
"api_key" => "API_KEY",
"api_secret" => "API_SECRET"
],
"file" => base_url() . "include/" . $dataIn['logo'],
"wait" => true
]);
修改强>
以下是https://kraken.io/docs/upload-url的示例,因此您无需使用curl
require_once("Kraken.php");
$kraken = new Kraken("your-api-key", "your-api-secret");
$params = array(
"file" => "/path/to/image/file.jpg",
"wait" => true
);
$data = $kraken->upload($params);
if ($data["success"]) {
echo "Success. Optimized image URL: " . $data["kraked_url"];
} else {
echo "Fail. Error message: " . $data["message"];
}