Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: iko 11. 11. 2015, 18:18:00

Název: Zápis do Google kalendáře v C#
Přispěvatel: iko 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?
Název: Re:zapisovanie do cudzieho kalendara na Google C#
Přispěvatel: joe 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.
Název: Re:zapisovanie do cudzieho kalendara na Google C#
Přispěvatel: iko 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.
Název: Re:Zápis do Google kalendáře v C#
Přispěvatel: Filip Jirsák 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.
Název: VYRIESENE Re:Zápis do Google kalendáře v C#
Přispěvatel: iko 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.
Název: Re:VYRIESENE Re:Zápis do Google kalendáře v C#
Přispěvatel: Filip Jirsák 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).
Název: Re:Zápis do Google kalendáře v C#
Přispěvatel: iko 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?
Název: Re:Zápis do Google kalendáře v C#
Přispěvatel: Filip Jirsák 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ší.
Název: Re:Zápis do Google kalendáře v C#
Přispěvatel: iko 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...