首页 > 解决方案 > Drive API Watch 方法 Java 中的错误 403 dailyLimitExceededUnreg

问题描述

我们正在尝试使用Drive API Watch 方法观察电子表格的变化。这个想法是依靠Channel在文件被修改时获取通知。但是,当我们执行该方法时,输出是以下引用错误 403 的消息。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}

我们正在使用 Oauth 凭证方法。

我们正在实现的代码如下,使用此处的文档:

final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
Drive service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
                .setApplicationName(APPLICATION_NAME)
                .build();
    
String spreadsheetId = "xxx-xxx";

Channel channel = new Channel();
channel.setAddress("https://example.com/point");
channel.setType("web_hook");
channel.setId(UUID.randomUUID().toString());
try{
    Drive.Files.Watch action = service.files().watch(spreadsheetId, channel);
    System.out.println(action.execute().toPrettyString());
}catch(IOException e){
    e.printStackTrace();
}

我们还实现了使用服务帐户的代码,但得到了相同的 403 错误。

标签: javagoogle-sheetsgoogle-apigoogle-drive-api

解决方案


推荐阅读