2015-05-31 4 views
0

Я новичок в драйвере Google и начал с учебника quickstart. После многочисленных аттестаций я успешно запускаю программу. Однако у меня были проблемы с разрешением и авторизацией при попытке удалить файлы.Google Диск отменяет мой токен

Drive service = getDriveService(); 
service.files().delete("FileId").execute(); 

Поэтому я решил изменить URL в client_secret.json,

От: "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs"

To: "auth_provider_x509_cert_url":"https://www.googleapis.com/auth/drive"

в надежде, что я теперь получить разрешение на удаление файлы. Однако после выполнения программы снова я не получил вкладку авторизации интернет-браузера, как раньше.

В качестве примера на вкладке упоминалось, здесь изображение с Google игровой площадки:

asking for permissions in browser

Вот причина, почему я delted связь от моего приложения на веб-сайте Google Диска:

enter image description here

Кроме того, я воссоздал также файл client_secret.json. Однако, когда я сейчас выполняю программу, я получаю только эту ошибку, независимо от того, что я делаю.

Exception in thread "main" com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request 
{ 
    "error" : "invalid_grant", 
    "error_description" : "Token has been revoked." 
} 
    at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105) 
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287) 
    at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307) 
    at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570) 
    at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489) 
    at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217) 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:859) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469) 
    at main.java.DriveQuickstart.main(DriveQuickstart.java:101) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 

Так эти два вопроса, что я должен сделать, чтобы получить учебник продолжить игру и как установить права доступа таким образом, что я могу удалить файлы?

ответ

4

Теперь я выясняю проблему: Мне пришлось удалить каталог «user.home/.credentials/drive-api-quickstart». После этого я могу дать программе разрешение, которое ему нужно. Надеюсь, что кто-то поможет в этом посте;)

Смежные вопросы