我现在正在使用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
答案 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;。