You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取Instagram搜索数据时遇非对象属性及foreach参数无效错误求助

解决Instagram搜索API请求的错误问题

咱先拆解下你遇到的两个错误:

  • Notice: Trying to get property 'users' of non-object:这说明$json根本不是一个对象,大概率是json_decode解码失败,返回了null或者其他非对象类型。
  • Warning: Invalid argument supplied for foreach():因为$json->users不存在,所以foreach接收了无效的参数,自然报错。

错误根源

现在Instagram的公开搜索接口已经不再允许无认证的直接请求了。你用file_get_contents直接请求那个URL,返回的内容根本不是你预期的JSON数据——大概率是登录页面的HTML或者拦截响应,导致json_decode无法解析出正确的对象结构,自然拿不到users属性。

解决方案

1. 先确认请求返回的内容

先在代码里打印下请求的返回值,看看是不是有效的JSON:

$response = file_get_contents('https://www.instagram.com/web/search/topsearch/?query=lol');
var_dump($response); // 查看返回的实际内容

你会发现返回的是HTML或者错误信息,这就是解码失败的核心原因。

2. 用CURL模拟浏览器请求,添加必要请求头

Instagram会检查请求的User-Agent,我们需要模拟浏览器的请求头来绕过拦截。用CURL发送请求更灵活,示例代码如下:

$url = 'https://www.instagram.com/web/search/topsearch/?query=lol';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 模拟Chrome浏览器的请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    'Accept: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);

// 检查请求是否成功
if (!$response) {
    die('请求失败,请检查网络或URL');
}

// 解码JSON为数组(比对象更安全,避免属性不存在的问题)
$json = json_decode($response, true);
// 检查解码是否成功
if (json_last_error() !== JSON_ERROR_NONE) {
    die('JSON解码失败:' . json_last_error_msg());
}

// 确认users字段存在且是数组
if (isset($json['users']) && is_array($json['users'])) {
    foreach ($json['users'] as $item) {
        // 注意结构:用户信息在user子数组里
        if ($item['user']['username'] === 'lol') {
            echo $item['user']['full_name'];
        }
    }
} else {
    echo '未找到匹配的users数据';
}

3. 注意API结构变化

Instagram的非官方API结构可能随时更新,拿到解码后的$json后,建议先var_dump($json)查看具体结构,确认users的层级和字段名是否正确(比如full_name是否在user子结构下)。

额外提醒

如果你是做正式项目,不建议依赖这种非官方API——Instagram随时可能封禁这类无认证请求。最好使用官方的Graph API,不过需要申请开发者账号并完成认证。

内容的提问来源于stack exchange,提问作者Elve Bi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:13:27