httr github-API回调URL问题

时间:2012-11-01 00:20:24

标签: r github github-api httr

我现在正在使用httr v0.2包来使用github api。但我很难超越oauth2.0(...)部分进入我的应用程序的浏览器页面,单击“允许”,然后重定向到回调URL页面。

httr github演示建议使用回调网址http://localhost:1410,但当我被重定向到该网页时,谷歌浏览器表明它无法连接到该页面,而且它被重定向的页面是{ {1}} ...所以我尝试了一堆其他端口和整体URL,但没有成功......

另一个可以使用的回调网址和网址是什么?

下面是我使用的代码

http://localhost:1410/?error=redirect_uri_mismatch&state=DZNFcm8tnq

当我被定向到具有“允许”按钮的页面时,我点击该按钮后,我将被重定向到谷歌浏览器中无法连接到localhost的页面:1410

3 个答案:

答案 0 :(得分:12)

您应该将httr包更新到最新版本(现在它是0.3 - 在CRAN中可用)。我从httr(版本0.3)演示中找到了相关示例:

library(httr)

# 1. Find OAuth settings for github:
#    http://developer.github.com/v3/oauth/
oauth_endpoints("github")

# 2. Register an application at https://github.com/settings/applications
#    Insert your values below - if secret is omitted, it will look it up in
#    the GITHUB_CONSUMER_SECRET environmental variable.
#
#    Use http://localhost:1410 as the callback url
myapp <- oauth_app("github", "56b637a5baffac62cad9")

# 3. Get OAuth credentials
github_token <- oauth2.0_token(oauth_endpoints("github"), myapp)

# 4. Use API
req <- GET("https://api.github.com/rate_limit", config(token = github_token))
stop_for_status(req)
content(req)

您可以使用demo("oauth2-github", package = "httr", ask = FALSE)命令获取它。

答案 1 :(得分:0)

您是通过网络应用程序提供此服务还是扩展程序/插件?重定向url必须与您在设置github应用程序时指定的回调URL位于同一主机上。有关详情,请参阅here。如果您在扩展中使用API​​,那么我将没有太多帮助。当我遇到你的问题时,这就是我所寻找的。

答案 2 :(得分:0)

我有同样的错误。但是在我安装httpuv包之后它工作得很好。安装httpuv软件包后,运行此代码

  

github_token&lt; - oauth2.0_token(oauth_endpoints(&#34; github&#34;),myapp)

您应该能够看到&#39;身份验证完成&#39;。