Groovy JsonSlurper to fetch JSON data from URL. Error : The API package 'urlfetch' or call 'Fetch()' was not found
Groovy JsonSlurper to fetch JSON data from URL. Error : The API package 'urlfetch' or call 'Fetch()' was not found
我的 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 数据?
它可以在浏览器中使用,因为您已经过身份验证。如果你想让它从命令 line/script 工作,你还需要添加身份验证部分。
验证码
import groovy.json.JsonSlurper
String apiurl1 = "https://bitbucket.org/api/1.0/repositories/repo_name/repo_name.git/branches/"
String apiurl2 = "https://bitbucket.org/api/1.0/repositories/repo_name2/repo_name2.git/branches/"
String username = "username"
String password = "password"
String userpass = username + ":" + password;
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
URL url = apiurl1.toURL();
URLConnection connection = url.openConnection();
connection.setRequestProperty("Authorization",basicAuth);
InputStream inputStream = connection.getInputStream();
def names = new groovy.json.JsonSlurper().parseText(inputStream.text);
connection.disconnect();
import groovy.json.JsonSlurper
def json = new JsonSlurper().parseText( new URL( 'https://jsonplaceholder.typicode.com/users' ).text )
json.each { println it }
我能够使用此代码来解析 JSON URL 数据。
我的 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 数据?
它可以在浏览器中使用,因为您已经过身份验证。如果你想让它从命令 line/script 工作,你还需要添加身份验证部分。
验证码
import groovy.json.JsonSlurper
String apiurl1 = "https://bitbucket.org/api/1.0/repositories/repo_name/repo_name.git/branches/"
String apiurl2 = "https://bitbucket.org/api/1.0/repositories/repo_name2/repo_name2.git/branches/"
String username = "username"
String password = "password"
String userpass = username + ":" + password;
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
URL url = apiurl1.toURL();
URLConnection connection = url.openConnection();
connection.setRequestProperty("Authorization",basicAuth);
InputStream inputStream = connection.getInputStream();
def names = new groovy.json.JsonSlurper().parseText(inputStream.text);
connection.disconnect();
import groovy.json.JsonSlurper
def json = new JsonSlurper().parseText( new URL( 'https://jsonplaceholder.typicode.com/users' ).text )
json.each { println it }
我能够使用此代码来解析 JSON URL 数据。