php - 从私有 API 读取数据
问题描述
我为我一直在玩的一款游戏找到了这个私有 API,它可以让我创建一个非常酷的个人资料搜索网站,但是这个 API 的结构有点奇怪,我不完全确定如何从这种类型的 API 中调用元素。
{
"status": "success",
"id": "some_id_here",
"denormalized": {
"some_url_here": {
"data": {
"created": "2019-01-10T04:19:21Z",
"registered": 1547093961,
"gender": "f",
"display_name": "",
"age": 23,
"country": "US",
"state": "NY",
},
},
}
以上是平台拥有的 API 类型,当我滚动浏览它时,它看起来只是前端元素(化妆品)等的私有 API,我已经排除了任何可能是个人的东西。
有人可以帮助我弄清楚如何从这里打电话吗?对于每个唯一用户,包含的部分some_url_here
都不同,我已经完成了以下操作。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "some_website_url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$response = json_decode($response, true); //because of true, it's in an array
print '<pre>';
print_r($response);
print '</pre>';
但话虽如此,我无法超越
[denormalized] => Array
(
[url-here] => Array
(
[data] =>
部分返回后面的内容[data]
解决方案
您可以使用迭代非规范化的键/值对foreach
。例如
foreach ($response['denormalized'] as $url => $value) {
$data = $value['data'];
$created = $data['created'];
$registered = $data['registered'];
// and so on
}
推荐阅读
- xml - 在同一节点上匹配具有不同配置的模板
- javascript - 子弹跟随鼠标位置
- mysql - 两个查询单独工作,但是当我添加 OR 时结果变得无效
- pandas - 日内数据中的每日计算
- mysql - 如何将列基表转换为行基表
- python - 如何使用 PowerShell 使 python argcomplete 运行
- python-3.x - 在 Pyspark 中的 .withColumn 中编写自定义条件
- r - R shiny 中的级别替换创建两个级别列表,一个为 NULL
- typescript - 项目根目录中未引用的 .ts 文件“不在根目录下”
- mysql - 根据其他列中的数据更新列数据