如何获取Instagram非官方API所需的含ds_user_id与sessionId的Cookie?
首先得明确:你拿到的官方API access token是走OAuth2流程的,和非官方API依赖的浏览器会话Cookie完全不是一回事,所以没法用它来获取ds_user_id或sessionId。要在Postman里用上这些Cookie,最可靠的方式是从已登录的浏览器会话里导出,再导入到Postman中,具体步骤如下:
步骤1:从浏览器导出目标Cookie
- 打开Chrome/Firefox,登录你的Instagram账号,确保能正常查看用户故事(这一步是为了让会话Cookie处于有效状态)。
- 按下
F12打开开发者工具,切换到Network标签。 - 在过滤器里输入
i.instagram.com,随便刷新一下页面或者加载故事,找到任意一个来自该域名的请求(比如reels_tray/本身)。 - 点击这个请求,在Headers面板里找到
Cookie字段,复制整个Cookie字符串(里面会包含ds_user_id、sessionId、csrftoken等关键字段)。
步骤2:在Postman中配置Cookie
有两种方式可以把Cookie配置到Postman里:
方式一:直接在请求头中添加Cookie
- 打开Postman,创建一个GET请求,URL填
https://i.instagram.com/api/v1/feed/reels_tray/。 - 切换到Headers标签,添加一个新的键值对:
- 键:
Cookie - 值:把刚才从浏览器复制的完整Cookie字符串粘贴进去。
- 键:
- 同时记得添加
User-Agent头,设置成你浏览器的UA(比如Chrome的UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36)——Instagram会校验UA,不一致可能导致请求失败。
方式二:用Postman的Cookie管理器添加
- 点击Postman顶部的Cookies按钮(在Send按钮旁边),打开Cookie管理器。
- 点击Add Cookie,依次添加
ds_user_id和sessionId:- 对于
ds_user_id:- 域名:
i.instagram.com - 路径:
/ - 值:从浏览器Cookie里提取的对应值
- 可以勾选
HttpOnly(和浏览器里的属性保持一致)
- 域名:
- 同样的方法添加
sessionId,以及其他可能需要的字段(比如csrftoken,它通常也会出现在Cookie里,部分请求需要它)。
- 对于
- 保存后,你的请求会自动带上这些Cookie,不用再手动在Headers里写。
重要提醒
- Instagram的非官方API没有公开文档,接口和Cookie规则随时可能变化,而且频繁调用或异常请求可能导致账号被限制甚至封禁,风险自负。
- Cookie是有有效期的,如果之后请求失败,大概率是Cookie过期了,需要重新从浏览器导出。
内容的提问来源于stack exchange,提问作者Max Kraev
相关产品推荐
相关产品推荐

