【发布时间】:2015-04-21 21:19:04
【问题描述】:
Instagram API 的整个订阅过程似乎并不简单。
我设置了一些代码来接收当 Instagram 向我发送来自我的订阅之一的帖子通知时发送的帖子数据。但是,当我尝试查看原始 JSON 数据时,它会发布我无法获取的信息。如果我 print_r 或 var_dump 我只会得到数字 1。
查看我的数据访问代码:
// Catches realtime updates from Instagram
if ($_SERVER['REQUEST_METHOD']==='POST') {
// Retrieves the POST data from Instagram
$update = file_get_contents('php://input');
$data = json_decode($update);
var_dump($data); //Outputs 1
print_r($data[0]); //Outputs 1
}
如何将 JSON 作为数组获取?
这就是 JSON 的样子:
[
{
"subscription_id": "1",
"object": "user",
"object_id": "1234",
"changed_aspect": "media",
"time": 1297286541
},
{
"subscription_id": "2",
"object": "tag",
"object_id": "nofilter",
"changed_aspect": "media",
"time": 1297286541
},
...
]
感谢您的帮助。
更新 1
我使用 PHP 来打印 HTTP 标头。有内容是因为它显示了它的长度。虽然仍然无法得到它。我认为这排除了它是 Instagram 问题
【问题讨论】:
-
您是否查看过请求正文的实际外观?某事。在你的情况下就像
var_dump($update)。 -
@helmbert 是的,$update 和 $data 都打印 1。我真的不知道下一步该去哪里。任何想法/指针?
-
订阅工作正常,因为当我在 Instagram 上发帖时,它会触发一封电子邮件,实际上是在检查用户 ID,所以我可以去查找用户最后的帖子是我无法获得的。
-
您能否将发布数据转到 requestb.in 之类的其他位置,以排除您的代码存在问题?
-
试试 Matt 的建议 - requestb.in - 将有助于调试传入的数据。传入的标头说什么?
标签: php json instagram instagram-api