我遵循这些步骤https://secure.flickr.com/services/api/auth.oauth.html在我的clojure prog中实现oauth。
使用以下代码,第3步工作正常。 (printlns仅用于检查返回值)
(def consumer-key "0000")
(def consumer-secret "0000")
(def consumer (oauth.client/make-consumer consumer-key
consumer-secret
"http://www.flickr.com/services/oauth/request_token"
"http://www.flickr.com/services/oauth/access_token"
"http://www.flickr.com/services/oauth/authorize"
:hmac-sha1))
(def request-token (oauth/request-token consumer "http://localhost:8080/authorize"))
(defn flickrauth []
(def auth-url (oauth/user-approval-uri consumer
(:oauth_token request-token)))
(println (str auth-url "&perms=write")))
在我的浏览器中键入auth-url后,可以使用写入权限授权访问。
(defn get-access-token [oauth-token verifier]
(println "CONSUMER: " consumer "REQ TOKEN: " oauth-token "verifier: " verifier)
在下面的代码中,我只得到了“oauth_problem = token_rejected,status 401”。所以我想将访问令牌交换请求令牌存在问题......
(def access-token-response (oauth/access-token consumer
request-token
verifier))
(println "ACCESS TOKEN RESPONSE: " access-token-response)
简短总结...... 我得到了一个请求令牌和验证器,但在access-token-response中使用了另一个oauth_token ......我不知道为什么。
感谢您提供任何帮助和提示!