1

我整天都在为此头疼。我正在尝试从 R 会话访问 StockTwits API ( https://api.stocktwits.com/developers )。我之前已经轻松访问了 twitter API(通过rtweet)。

我创建了一个应用程序并获得了客户端 ID 和密钥(以下只是示例)。

app_name = "some.name";
consumer_key = "my_client_id";
consumer_secret = "my_client_key";
uri = "http://iimb.ac.in" # this is my institute's homepage. It doesn't allow locahost OR 127.0.0.1
scope = "read,watch_lists,publish_messages,publish_watch_lists,direct_messages,follow_users,follow_stocks";
base_url = "https://api.stocktwits.com/api/2/oauth"; # see https://api.stocktwits.com/developers/docs/api

该过程是创建一个 oauth2.0 应用程序和端点。然后调用oauth2.0_token

oa = httr::oauth_app(app_name, key = consumer_key, secret = consumer_secret, redirect_uri = uri);

oe = httr::oauth_endpoint("stocktwits", "authorize", "token", base_url = base_url);

mytoken = httr::oauth2.0_token(oe, oa, user_params = list(resource = base_url), use_oob = F); # use_oob = T doesn't work.

触发上述操作后,它会将我带到浏览器进行登录。我登录,它要求我连接。之后,我被带回到我的 URI 加上一个代码,即https://www.iimb.ac.in/?code=295ea3114c3d8680a0ed295d52313d7092dd90ae&state=j9jXzEqri1

代码是我的访问令牌还是其他什么?由于回调不是本地主机,该oauth2.0_token()调用一直在等待代码。我似乎没有掌握这一点。

然后我尝试使用上面的代码作为访问令牌访问 API,但我被抛出“无效访问令牌”错误。格式在https://api.stocktwits.com/developers/docs/api#search-index-docs中描述

有人可以告诉我我错过了什么吗?如果需要,我可以分享我的app_name, consumer_keyconsumer_secret复制。

4

0 回答 0