Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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:
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?
-
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.
-
Samozrejme bez dovolenia nie, na to pouzivam nejake OAuth2, kde sa autorizujes a povolis mi pristup na urcite veci.
-
To záleží na tom, co dělá funkce autorizuj(). Zřejmě tam autorizujete sám sebe místo zadaného uživatele.
-
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.
-
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).
-
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?
-
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ší.
-
No, co uz, skoda ze to nejde vnutit.
Overovanie som uz zvladol, akorat to potom pyta od uzivatela dalsie opravnenia.
Takze vyriesene. Vdaka...