如何将 oAuth headers 包装在 clj-http 中?
How to wrap oAuth headers in clj-http?
我正在尝试 post 使用 clojure 更新 Twitter 状态...但这可能真的是关于 oAuth headers 的问题,并通过精彩的 clj-http图书馆。
我之前用 clj-http 来表示 basic-auth 和其他类型的 header,这非常简单。 Authorization: Bearer ...
有点混乱,但我最终做到了。
虽然对于 Twitter,我应该在授权中传递很多变量,但我不太确定我将如何去做。根据推特,这是 curl 命令,我需要 post 推文:
curl --request 'POST' 'https://api.twitter.com/1.1/statuses/update.json'
--data 'status=this+is+sparta'
--header 'Authorization: OAuth oauth_consumer_key="xxxxx",
oauth_nonce="xxxxx",
oauth_signature="xxxxx",
oauth_token="xxxxx", oauth_version="1.0"'
--verbose
所以我不确定如何在 header 中附加所有 oAuth...
内容。尝试 (str ..)
并没有真正奏效。到目前为止,这是我得到的:
(client/post "https://api.twitter.com/1.1/statuses/update.json")
{:headers {:Authorization (str "OAuth oauth_consumer_key='xxxxx', oauth_nonce='xxxxx', oauth_signature='xxxxx', oauth_token='xxxxx', oauth_version='1.0'" )}
:form-params {:status "This is sparta"})
这个returns 403. permission error when I try.
关于如何构建该查询的任何想法?
ps:我确实有帐户的 oAuth token
和 token_secret
...但是我注意到 token_secret
值没有被传递? oauth_nonce
有什么用?我现在正在传递 twitter 给我的 curl 值...环顾四周,它似乎只是一个随机值,所以不必大惊小怪。
可能值得看看 Matt Revelle 的 Clojure OAuth 客户端库。 https://github.com/mattrepl/clj-oauth
OAuth 非常重要,以至于从简单的骨骼中拼凑一些东西变得很烦人。如果不出意外,你还是想走最小的路线,你可能会得到一些想法。
我过去在尝试使用 clj-oauth 时遇到过困难(主要是因为我自己对 clojure 的理解),但我发现 twitter-api 使用起来非常简单。它在内部使用 clj-oauth。
我正在尝试 post 使用 clojure 更新 Twitter 状态...但这可能真的是关于 oAuth headers 的问题,并通过精彩的 clj-http图书馆。
我之前用 clj-http 来表示 basic-auth 和其他类型的 header,这非常简单。 Authorization: Bearer ...
有点混乱,但我最终做到了。
虽然对于 Twitter,我应该在授权中传递很多变量,但我不太确定我将如何去做。根据推特,这是 curl 命令,我需要 post 推文:
curl --request 'POST' 'https://api.twitter.com/1.1/statuses/update.json'
--data 'status=this+is+sparta'
--header 'Authorization: OAuth oauth_consumer_key="xxxxx",
oauth_nonce="xxxxx",
oauth_signature="xxxxx",
oauth_token="xxxxx", oauth_version="1.0"'
--verbose
所以我不确定如何在 header 中附加所有 oAuth...
内容。尝试 (str ..)
并没有真正奏效。到目前为止,这是我得到的:
(client/post "https://api.twitter.com/1.1/statuses/update.json")
{:headers {:Authorization (str "OAuth oauth_consumer_key='xxxxx', oauth_nonce='xxxxx', oauth_signature='xxxxx', oauth_token='xxxxx', oauth_version='1.0'" )}
:form-params {:status "This is sparta"})
这个returns 403. permission error when I try.
关于如何构建该查询的任何想法?
ps:我确实有帐户的 oAuth token
和 token_secret
...但是我注意到 token_secret
值没有被传递? oauth_nonce
有什么用?我现在正在传递 twitter 给我的 curl 值...环顾四周,它似乎只是一个随机值,所以不必大惊小怪。
可能值得看看 Matt Revelle 的 Clojure OAuth 客户端库。 https://github.com/mattrepl/clj-oauth
OAuth 非常重要,以至于从简单的骨骼中拼凑一些东西变得很烦人。如果不出意外,你还是想走最小的路线,你可能会得到一些想法。
我过去在尝试使用 clj-oauth 时遇到过困难(主要是因为我自己对 clojure 的理解),但我发现 twitter-api 使用起来非常简单。它在内部使用 clj-oauth。