Das Google Drive-Dienstkonto gibt 403 usageLimits zurück

Ich versuche, eine AppEngine-App zu schreiben, die ein Google-Dokument in Google Drive schreibt, einen bestimmten Satz von Ordnern einfügt und Zugriffsrechte festlegt. Ich habe dies mit der alten DocsList-API, aber da dies gerade veraltet war, habe ich beschlossen, meinen Code zu aktualisieren (und ich musste trotzdem einige zusätzliche Funktionen hinzufügen).

Das Problem, vor dem ich stehe, ist das folgende: Wenn ich ein Dienstkonto verwende und versuche, mich als bestimmter Benutzer auszugeben, erhalte ich eine 403 mit usageLimits, obwohl ich keines meiner Kontingente aufgebraucht habe.

Hier ist der Code, den ich benutze:

GoogleCredential credentials = new GoogleCredential.Builder()
                 .setTransport(HTTP_TRANSPORT)
                 .setJsonFactory(JSON_FACTORY)
                 .setServiceAccountId("xxxxxxxxxxgserviceaccount.com")
                 .setServiceAccountScopes(DriveScopes.DRIVE)
                 .setServiceAccountPrivateKeyFromP12File(
                                    new java.io.File("xxxx-privatekey.p12"))
                 .setServiceAccountUser("[email protected]").build();

Ich verwende dann diese Anmeldeinformationen, um mein Drive-Objekt zu initiieren:

Drive d = Drive.builder(httpTransport, jsonFactory)
               .setHttpRequestInitializer(credentials)
               .setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
                @Override
                public void initialize(JsonHttpRequest request) {
                    DriveRequest driveRequest = (DriveRequest) request;
                    driveRequest.setPrettyPrint(true);
                }
            }).setApplicationName("MYAPPNAME").build();

Übrigens: Ich habe versucht, ein neues Laufwerk zu verwenden (....), aber das funktioniert einfach nicht, egal was ich versuche. Wirft weiterhin Fehler, die interne Methoden nicht finden!

Zurück zu diesem Problem: Wenn ich dann 'd' benutze, um so etwas wie .files (). Get ("SOMEFILEID"). Execute () aufzurufen, erhalte ich eine 403

{ "code" : 403,
"errors" : [ {
    "domain" : "usageLimits",
    "message" : "Daily Limit Exceeded. Please sign up",
    "reason" : "dailyLimitExceededUnreg",
    "extendedHelp" : "https://code.google.com/apis/console"
  } ],
  "message" : "Daily Limit Exceeded. Please sign up"
}

Ich kann nicht herausfinden, warum das nicht funktioniert. Ich schaue den ganzen Tag online, finde aber keine passende Antwort. Hilfe wird sehr geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage