Zápis do Google kalendáře v C#

iko

  • ***
  • 131
    • Zobrazit profil
    • E-mail
Zápis do Google kalendáře v C#
« kdy: 11. 11. 2015, 18:18:00 »
zdravim,

nemozem sa vysomarit z googloveho API. Chcem pridavat udalosti do cudzich kalendarov (mam jeho email adresu). Nejak som to spravil, ale vzdy mi prida len do mojho kalendara. Mam takyto nejaky kod:

Kód: [Vybrat]
            ClientSecrets client_secret = new ClientSecrets();
            client_secret.ClientId = "XXXX.apps.googleusercontent.com";
            client_secret.ClientSecret = "YYYY";

            UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                client_secret,
                Scopes,
                user,  // tu je email adresa uzivatela, ktoremu cjhcem zapisovat do kalendara
                CancellationToken.None).Result;


            UserCredential credential = autorizuj(user);

            var service = new CalendarService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = ApplicationName,
                });

            Event ev = new Event();
            EventDateTime evstart = new EventDateTime();
            evstart.DateTime = start;

            EventDateTime evend = new EventDateTime();
            evend.DateTime = end;

            ev.Summary = nadpis;
            ev.Description = popis;
            ev.Start = evstart;
            ev.End = evend;

            ev = service.Events.Insert(ev, "primary").Execute();

Kde robim chybu? Da sa to vobec zapisovat do cudzieho kalendara?
« Poslední změna: 11. 11. 2015, 22:10:25 od Petr Krčmář »


joe

Re:zapisovanie do cudzieho kalendara na Google C#
« Odpověď #1 kdy: 11. 11. 2015, 19:02:10 »
Rozumím tomu dobře, že máš mou e-mailovou adresu a na základě toho chceš (bez mého předchozího svolení) něco přidat do mého kalendáře? To doufám nejde.

iko

  • ***
  • 131
    • Zobrazit profil
    • E-mail
Re:zapisovanie do cudzieho kalendara na Google C#
« Odpověď #2 kdy: 11. 11. 2015, 19:04:39 »
Samozrejme bez dovolenia nie, na to pouzivam nejake OAuth2, kde sa autorizujes a povolis mi pristup na urcite veci.

Re:Zápis do Google kalendáře v C#
« Odpověď #3 kdy: 13. 11. 2015, 13:39:20 »
To záleží na tom, co dělá funkce autorizuj(). Zřejmě tam autorizujete sám sebe místo zadaného uživatele.

iko

  • ***
  • 131
    • Zobrazit profil
    • E-mail
VYRIESENE Re:Zápis do Google kalendáře v C#
« Odpověď #4 kdy: 13. 11. 2015, 17:14:27 »
Uz to chodi. Problem bol v tom, ze som si myslel, ze mi google predvyplni email login a bude pytat len heslo. Google ale pyta aj login aj heslo, takze napr ja chcem autorizovat abc@gmail.com a v skutocnosti na ten email mozem autorizovat hocikoho, ale u mna to bude zapisane ze to je abc@gmal.com. A k tomu bol problem, ze som mal prihlaseneho mna na googli, takze sa na meno ani nepytal, rovno chcel moje heslo.


Re:VYRIESENE Re:Zápis do Google kalendáře v C#
« Odpověď #5 kdy: 13. 11. 2015, 18:16:40 »
Uz to chodi. Problem bol v tom, ze som si myslel, ze mi google predvyplni email login a bude pytat len heslo. Google ale pyta aj login aj heslo, takze napr ja chcem autorizovat abc@gmail.com a v skutocnosti na ten email mozem autorizovat hocikoho, ale u mna to bude zapisane ze to je abc@gmal.com. A k tomu bol problem, ze som mal prihlaseneho mna na googli, takze sa na meno ani nepytal, rovno chcel moje heslo.
Pak to ale zapisujete špatně. Google vám vrací údaje o uživateli, o které si řeknete a které uživatel odsouhlasí – a e-mail je mezi nimi. Případně pro jednoznačnou identifikaci uživatele je lepší si ukládat unikátní identifikátor, který vám Google vrátí u každého uživatele (uživatel to nemůže odmítnout).

iko

  • ***
  • 131
    • Zobrazit profil
    • E-mail
Re:Zápis do Google kalendáře v C#
« Odpověď #6 kdy: 16. 11. 2015, 08:34:01 »
funkcia autorizuj tam nie je, teda bola, ale som to spojil do jedneho kodu a ten riadok som zabudol vyhodit, takze ten kod je bez riadku s autorizuj(...).

A fakt sa neda vnutit login googlu? To si mam akurat kontrolovat, ze ci email, ktory chcem autorizovat suhlasi s emailom, co si vypytam od autorizovaneho google?

Re:Zápis do Google kalendáře v C#
« Odpověď #7 kdy: 16. 11. 2015, 11:23:00 »
Stejně byste musel po přihlášení ověřovat, že to přihlášení opravdu odpovídá vašemu požadavku. Místo toho můžete rovnou ověřit ten e-mail a je to univerzálnější.

iko

  • ***
  • 131
    • Zobrazit profil
    • E-mail
Re:Zápis do Google kalendáře v C#
« Odpověď #8 kdy: 16. 11. 2015, 13:05:57 »
No, co uz, skoda ze to nejde vnutit.

Overovanie som uz zvladol, akorat to potom pyta od uzivatela dalsie opravnenia.

Takze vyriesene. Vdaka...