【问题标题】:Get an access token from Instagram API WITHOUT a browser?在没有浏览器的情况下从 Instagram API 获取访问令牌?
【发布时间】:2016-11-15 02:31:38
【问题描述】:

我正在开展一个项目,我根据某些查询从社交媒体中提取数据并进行分析。目前我正在提取 Instagram 媒体数据。 我唯一想做的就是输入查询并获取 JSON media/likes/cmets.... 我阅读了他们的 API 文档。我发现如果没有授权在浏览器中使用我自己的帐户,我无法获得访问令牌。我知道必须有一个用户,所以我认为使用我自己的帐户是可以的。但问题是我不想从浏览器手动获取访问令牌。

目前我正在硬编码访问令牌。它将过期,我每次都必须手动更新它。我敢打赌有更好的解决方案。有人可以帮我吗?谢谢。

class instagramFeed():

    CLIENT_ID = "MY-APP-ID" 
    REDIRECT_URI = "MY-ORGANIZATIONS-URI"
    ACCESS_TOKEN = "I MANUALLY GENERATE THIS TOKEN"
    query = None

    def __init__(self):
        None

    def get_data(self, query):
        response = urllib2.urlopen("https://api.instagram.com/v1/tags/search?q="+query+"&access_token="+self.ACCESS_TOKEN)

【问题讨论】:

    标签: http web backend instagram-api


    【解决方案1】:

    如果不登录 Instagram 页面,就无法获得access_token,这就是 oauth 身份验证的全部意义所在。

    您必须手动获取access_token 并更新,根据我的经验,Instagram access_token 永不过期,我已经使用了 6 年。只有当 Instagram 因检测到可疑活动而将其撤销时,您才需要获得新的 access_token。因此,只要您谨慎使用 API 而不会自动执行过多的背靠背调用,您应该可以使用相同的 access_token

    【讨论】:

    • 谢谢。我之前获得的访问令牌确实过期了,可能是因为我是从客户端隐式流中获得的。如果我从服务器端流程获得的访问令牌没有过期,那么我认为我很好:)
    • 你是在沙盒模式还是实时模式?我主要使用服务器端 oauth,它可能会有所不同,不确定
    猜你喜欢
    • 2016-10-15
    • 2012-04-30
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    相关资源
    最近更新 更多