我需要一些帮助Clojure 和 oauth https://github.com/mattrepl/clj-oauth.
我陷入了最后一步:使用凭据签署请求。
(def credentials (oauth/credentials consumer
(:oauth_token access-token-response)
(:oauth_token_secret access-token-response)
:POST
"http://twitter.com/statuses/update.json"
{:status "posting from #clojure with #oauth"}))
(http/put "http://twitter.com/statuses/update.json"
:query-params credentials)
这是 github 上的例子。
现在,从 flickr API 我得到了这个测试 URL:
http://api.flickr.com/services/rest/?method=flickr.people.getPhotos
&api_key=82d4d4ac421a5a22et4b49a04332c3ff
&user_id=93029506%40N07&format=json&nojsoncallback=1
&auth_token=72153452760816580-cd1e8e4ea15733c3
&api_sig=b775474e44e403a79ec2a58d771e2022
我不使用 twitter...我使用 flickr api 并想要获取用户的图片。
我现在的问题是:我该如何更改适合 flickr url 的凭据?
我也很困惑:status
但是当我删除它时,我收到错误...
Twitter 示例使用 HTTP POST 方法,但对于 Flickr,我们需要 GET 和 flickr api。所以我们这样做
(def credentials (oauth/credentials consumer
(:oauth_token access-token-response)
(:oauth_token_secret access-token-response)
:GET
"http://api.flickr.com/services/rest/"
query-params))
在 Twitter 示例中,我替换为query-params
指定发布的内容。它
是一个地图,将被 url 编码为类似的内容status=posting%20from%20%23clojure%20with%20%23oauth
。相反,您提到的 API 发出的请求具有以下非 oauth 查询参数映射:
(def query-params {:method "flickr.people.getPhotos" :format "json" :user_id "93029506@N07" :nojsoncallback 1})
现在我们要做的就是
(http/get "http://api.flickr.com/services/rest/" {:query-params (merge credentials query-params)})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)