我正在尝试本教程,但没有运气。我尝试输出json对象的计数,当它应该是3时它是1的计数。对象 - >分页,对象元,对象 - >数据
我在下面的代码中输入了一个虚假的访问令牌。我使用来自instagram的访问令牌。您也可以仅使用您的客户端ID执行此查询。我试过了,并得到了同样的错误。
当我将这些查询放在instagram api控制台中时,它们会返回正确的json。你们能找出问题所在吗?
这是教程: http://blueprintinteractive.com/blog/how-instagram-api-fancybox-simplified
以下是错误: 注意:尝试在第41行的PhpstormProjects \ untitled \ index中获取非对象的属性
警告:第41行的PhpstormProjects \ untitled \ index中为foreach()提供的参数无效
这是我的代码:
<?php
// Supply a user id and an access token
//$userid = 9999999;
//$accessToken = "9999999.999999f.cca99999999999";
//$clientid = "abcdefg999999999999";
// Gets our data
function fetchData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// Pulls and parses data.
//$result = fetchData("https://api.instagram.com/v1/users/9999999/media/recent/?access_token=9999999.999999f.cca99999999999");
$result = file_get_contents("https://api.instagram.com/v1/users/9999999/media/recent/?access_token=9999999.999999f.cca99999999999");
$result = json_decode($result);
?>
<?php foreach ($result->data as $post): ?>
<!-- Renders images. @Options (thumbnail,low_resolution, high_resolution) -->
<a class="group" rel="group1" href="<?= $post->images->standard_resolution->url ?>"><img src="<?= $post->images->thumbnail->url ?>"></a>
<?php endforeach ?>
感谢您的时间。
我注释掉了对fetchData()的调用并使用了file_get_contents(),现在它可以工作了。
答案 0 :(得分:1)
尝试改变这一点:
<?php foreach ($result->data as $post): ?>
到此:
<?php foreach ((array) $result->data as $post): ?>
这个解决方案对我有用。:)和警告消失了。
答案 1 :(得分:0)
仔细检查您的API连接凭据。
Notice: Trying to get property of non-object in PhpstormProjects\untitled\index on line 41
表示没有要迭代的数组,这意味着没有数据返回$result