【问题标题】:How to use the watchlist ID to access messages via the Stocktwits API?如何使用监视列表 ID 通过 Stocktwits API 访问消息?
【发布时间】:2020-09-20 10:08:58
【问题描述】:

我正在尝试编写一个从 Stocktwits 收集消息的 python 脚本。

我成功地访问了 API,使用

params = {
    'client_id':'my_consumer_key_here',
    'response_type':'code',
    'redirect_uri':'https://api.stocktwits.com/api/2/oauth/authorize',
    'scope':['read','watch_lists'],
    'prompt':1,
}

r = requests.get('https://api.stocktwits.com/api/2/oauth/authorize',params)
r.status_code # 200

应该通过监视列表(我在我的帐户上创建)访问这些消息,就像这样

r = requests.get('https://api.stocktwits.com/api/2/streams/watchlist/<watchlist_id>.json',params)

为了获得在我的帐户中找不到的监视列表 ID,我尝试了:

r = requests.get('https://api.stocktwits.com/api/2/watchlists.json',params)
r.status_code # 401

这应该列出关注列表及其 ID。 “401”表示由于某种原因授权在此处与上述方式不同。

我也将 redirect_uri 更改为“https://api.stocktwits.com/api/2/watchlists.json”,坦率地说,我不确定它有什么用处。

问题可能是授权过程旨在让许多可能的用户访问我的应用程序并通过我的应用程序访问 API。我想做的事情要简单得多。

我以前从未使用过 API,而且大部分文档对我来说都是不透明的。所以我的问题是我是否在做一些明显错误的事情,以及我应该如何继续获取 watchlist_id 并检索消息。

【问题讨论】:

    标签: api stocktwits


    【解决方案1】:

    您应该将访问令牌添加到您对安全资源的请求中,例如

    https://api.stocktwits.com/api/2/streams/watchlists.json?access_token=<access_token>
    

    或者您可以将授权标头添加到对受保护资源的每个请求中。

    你应该从你的授权请求中获得 access_token

    r = requests.get('https://api.stocktwits.com/api/2/oauth/authorize',params)
    

    【讨论】:

      猜你喜欢
      • 2020-10-09
      • 1970-01-01
      • 2017-04-04
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多