Groovy JsonSlurper从URL获取JSON数据。错误:找不到API包'urlfetch'或调用'Fetch()'

时间:2016-03-08 07:22:12

标签: json google-app-engine groovy bitbucket

我的groovy脚本连接到bitbucket API并获取分支细节。这是脚本:

import groovy.json.JsonSlurper
def json = new JsonSlurper().parseText( new URL( 'https://bitbucket.org/api/1.0/repositories/repo_name/repo_name.git/branches/' ).text )

但这会引发以下错误:

com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'urlfetch' or call 'Fetch()' was not found.
at Script1.run(Script1.groovy:2)

但是当我复制粘贴浏览器上的URL时,我能够看到JSON数据。如何使用groovy从这个URL获取JSON数据?

3 个答案:

答案 0 :(得分:0)

它可以在浏览器中运行,因为您已经过身份验证。如果您希望它从命令行/脚本工作,您还需要添加身份验证部分。

答案 1 :(得分:0)

身份验证代码

# dummy data
df1 <- read.table(text = "
  num
a   1
b   1")

df2 <- read.table(text = "
  num
a   1
b   2
c   3
d   1")

df3 <- read.table(text = "
  num
c   1
d   1")


merge(
  merge(df1, df2, by = "row.names", all = TRUE),
  df3, by.x = "Row.names", by.y = "row.names", all = TRUE)

#output
#   Row.names num.x num.y num
# 1         a     1     1  NA
# 2         b     1     2  NA
# 3         c    NA     3   1
# 4         d    NA     1   1

答案 2 :(得分:0)

import groovy.json.JsonSlurper
def json = new JsonSlurper().parseText( new URL( 'https://jsonplaceholder.typicode.com/users' ).text )

json.each { println it }

我能够使用此代码来解析JSON URL数据。