从R访问bitly OAuth2 API

时间:2012-07-15 16:05:45

标签: r api bit.ly

我希望能够从R访问bitly OAuth2 api,并且想知道是否有任何示例实现,或者更好的是,还有更好的R库/包装器来处理这个问题?

twitteR库跨越R OAuth library, ROAuth,但这可能不支持OAuth2?或者OAuth2会接受OAuth1提议吗?

3 个答案:

答案 0 :(得分:2)

这是一种使用httr的方式 - 它在packages' examples on GitHub的静脉中:

require(jsonlite)
require(httr)

# 1. Find OAuth settings for bit.ly:
# http://dev.bitly.com/authentication.html
bitly <- oauth_endpoint(
  authorize = "https://bitly.com/oauth/authorize",
  access = "https://api-ssl.bitly.com/oauth/access_token")

# 2. Register an application at http://dev.bitly.com/my_apps.html
# Insert your values below - if secret is omitted, it will look it up in
# the BITLY_CONSUMER_SECRET environmental variable.
myapp <- oauth_app("bitly", 
                   key = ".............................", # Client ID
                   secret = "............................") # Client Secret

bitly_token <- oauth2.0_token(bitly, myapp, cache = FALSE) 

# 4. Use API
req <- GET("https://api-ssl.bit.ly/v3/user/info", query = list(access_token = bitly_token$credentials$access_token))
stop_for_status(req)
content(req)$data$profile_url
# [1] "http://bitly.com/u/lukeanker"

答案 1 :(得分:1)

到目前为止,我已经在一个打包其他API的软件包中写了三个fxns:https://github.com/ropensci/raltmet/tree/master/R

这三个fxns基于用户获得clickc,扩展URL并缩短URL

通过以下方式安装:

install.packages("devtools")
require(devtools)
install_github("raltmet", "ropensci")
require(raltmet)

答案 2 :(得分:0)

可以在ROAUth(ROAuth 0.92)的CRAN版本上进行更新。我有一份工作副本here。从此来源安装ROAuth后,请下载RMendeley的副本以测试R如何与oauth一起使用。

library(devtools)
install_github("rmendeley", "ropensci")