【发布时间】:2015-07-07 22:29:21
【问题描述】:
我正在使用 42Matters API 尝试从 Android Market Place 中提取应用列表。我正在查看this API,它在请求有效负载下显示:
“在适用于 Android 的 App Market Explorer 中设计您的查询,并将其 JSON 表示形式作为 POST 请求正文复制到 Advanced Query API 端点。”
我在底部获取了他们的示例查询,并一直试图弄清楚我应该如何将其包含在我的 URL 中以检索结果。到目前为止,这是我所拥有的:
query.json
{
"query": {
"name": "Most Popular Apps",
"platform": "android",
"query_params": {
"sort": "number_ratings",
"from": 0,
"num": 100,
"i18n_lang": [],
"cat_int": [
"14",
"12"
],
"content_rating": [],
"sort_order": "desc",
"downloads_lte": "",
"downloads_gte": ""
}
}
}
PHP 代码:
<?php
$jsonQuery = fopen("query.json", "r") or die("Unable to open file!");
$query = fread($jsonQuery, filesize("query.json"));
var_dump(json_encode($query));
// var_dump(json_encode($jsonQuery));
$url = "https://42matters.com/api/1/apps/query.json?access_token=tokenNum&".urlencode(json_encode($query));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //don't print info to screen!
$result = json_decode(curl_exec($ch));
var_dump($result);
?>
最终结果不断返回“缺失查询”
【问题讨论】:
-
这里不需要使用json_encode。