[Java] GoogleCalendar api 403 Insufficient Permission

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Marco1994
  • Registratie: Juli 2012
  • Laatst online: 17:15
Momenteel ben ik bezig met een applicatie die de roosters die ik van mijn werk krijg (pdf... :X ) omzet naar mijn google Calendar. het pdf uitlees gedeelte is gelukt, damn wat is die meuk een hell.

Nu heb ik deze QuickStart gevolgd en heb ik dus een client_secret.json welke ik vervolgens in mijn resources folder gestopt hebt. Ik heb de applicatie in de Google Developers Console aangemaakt met mijn eigen prive adres. onder permissions is ook te zien dat ik project owner ben. Echter waneer ik de volgende code run krijg ik onderstaande error.

Java:
1
2
3
4
5
6
Event event = new Event();
event.setSummary("werkNaam hier");  
event.setStart(new EventDateTime().setDateTime(workTask.getBeginTime()));
event.setEnd(new EventDateTime().setDateTime(workTask.getEndTime()));
            
event = calendar.events().insert("primary", event).execute();


Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Insufficient Permission",
    "reason" : "insufficientPermissions"
  } ],
  "message" : "Insufficient Permission"
}
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
    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)


Via google wordt ik helaas ook niet veel wijzer, wel heb ik deze link gevonden en deze kerel suggereert dat het dus niet aan de code ligt maar aan de instellingen van de api. Echter kan ik de optie waar hij het over heeft nergens terug vinden en vermoed ik dus dat deze niet meer in de console zit.

Zit hier al een dag mee en krijg het maar niet opgelost... :?
Iemand suggesties?

Edit:

Ik heb het stukje..
Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList(CalendarScopes.CALENDAR_READONLY);


al verandert naar
Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList("https://www.googleapis.com/auth/calendar");


Maar dit verandert helaas niets

[ Voor 7% gewijzigd door Marco1994 op 15-02-2016 08:56 ]

Alle reacties


Acties:
  • +1 Henk 'm!

  • BlueZero
  • Registratie: Mei 2007
  • Laatst online: 26-06 16:34
Het voorbeeld haalt volgens mij alleen afspraken op en heeft daarom inderdaad de volgende scope.

Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList(CalendarScopes.CALENDAR_READONLY);


Omdat jij een afspraak gaat aanmaken moet je dit wijzigen in:
Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList(CalendarScopes.CALENDAR);


Zie hiervoor ook: https://developers.google...endar/CalendarScopes.html

Acties:
  • 0 Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 09-07 19:07

Pizzalucht

Snotneus.

BlueZero schreef op maandag 15 februari 2016 @ 09:29:
Het voorbeeld haalt volgens mij alleen afspraken op en heeft daarom inderdaad de volgende scope.

Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList(CalendarScopes.CALENDAR_READONLY);


Omdat jij een afspraak gaat aanmaken moet je dit wijzigen in:
Java:
1
2
private static final List<String> SCOPES
            = Arrays.asList(CalendarScopes.CALENDAR);


Zie hiervoor ook: https://developers.google...endar/CalendarScopes.html
"CalendarScopes.CALENDAR" staat echter wel gelijk aan "https://www.googleapis.com/auth/calendar", dus het had eigenlijk al moeten werken.

Acties:
  • 0 Henk 'm!

  • Marco1994
  • Registratie: Juli 2012
  • Laatst online: 17:15
Pizzalucht schreef op maandag 15 februari 2016 @ 10:04:
[...]


"CalendarScopes.CALENDAR" staat echter wel gelijk aan "https://www.googleapis.com/auth/calendar", dus het had eigenlijk al moeten werken.
Inderdaad, beide al geprobeerd. Maakt helaas geen verschil

Acties:
  • +1 Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 09-07 19:07

Pizzalucht

Snotneus.

Marco1994 schreef op maandag 15 februari 2016 @ 11:12:
[...]


Inderdaad, beide al geprobeerd. Maakt helaas geen verschil
Heb je al geprobeerd eerst de rechten voor de app terug te trekken?
Dat kan hier: https://security.google.com/settings/security/permissions

Acties:
  • 0 Henk 'm!

  • Marco1994
  • Registratie: Juli 2012
  • Laatst online: 17:15
Heb het opgelost, lezen blijk vrij lastig te zijn..... was te laat gisteren.

er stond: If modifying these scopes, delete your previously saved credentials at
~/.credentials/calendar-java-quickstart.json

dus mijn antwoord was verander CalendarScopes.CALENDAR en verwijder de credentials
Pagina: 1