意外的字符(“ <”(代码60)):应为有效值(数字,字符串,数组,对象,“真”,“假”或“空”)

时间:2019-05-25 16:10:28

标签: java google-tag-manager

要求是使用基于Java的Google API库连接到Google标记管理器,并以编程方式添加/修改/删除标记。为了实现这一点,编写了一个独立的类,但它引发了异常:

Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
 at [Source: (GZIPInputStream); line: 2, column: 2]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:669)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:567)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2624)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:826)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:723)
    at com.google.api.client.json.jackson2.JacksonParser.nextToken(JacksonParser.java:55)
    at com.google.api.client.json.JsonParser.startParsing(JsonParser.java:221)
    at com.google.api.client.json.JsonParser.parse(JsonParser.java:380)
    at com.google.api.client.json.JsonParser.parse(JsonParser.java:355)
    at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:87)
    at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
    at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:459)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
    at GTMTester.main(GTMTester.java:46)

    final HttpTransport TRANSPORT = new NetHttpTransport();
    final JsonFactory JSON_FACTORY = new JacksonFactory();

    InputStream resourceAsStream = new FileInputStream(new File 
     ("/testGTMapis/auth.json"));
    GoogleCredential credential = GoogleCredential.fromStream(resourceAsStream,TRANSPORT,JSON_FACTORY).createScoped(TagManagerScopes.all());

    TagManager tagManager= (new TagManager.Builder(TRANSPORT, JSON_FACTORY, (new HttpRequestInitializer() {         
       @Override    
       public void initialize(HttpRequest httpRequest) throws IOException {
                // TODO Auto-generated method stub
          httpRequest.setInterceptor(credential);
       }
   }))).setApplicationName("gtm-test-project-123456").setRootUrl("https://appengine.google.com/deployment?app_id=s~gtm-test-project-123456").build();

    ListAccountsResponse result = tagManager.accounts().list()
                 .execute();
    List<Account> accounts = result.getAccount();
    if (accounts == null || accounts.size() == 0) {
        System.out.println("No accounts found.");
    } else {
        System.out.println("Accounts:");
        for (Account account : accounts) {
            System.out.printf("%s (%s)\n", account.getAccountId(), 
            account.getName());
        }
    }

可以帮忙吗

0 个答案:

没有答案