API research/testing #1 (Google:Plus,People)

Kontakt kezelő program lévén először is a különböző szociális felületekre elkészített API-k vizsgálata a jelenlegi feladat, amelynek neki is láttam. Elsőnek a Google API-t választottam. Elsődleges feladatom ezeknek az API-knak az átvizsgálása, lehetőségek felfedése. A többféle lehetőség közül végül a Google+, és a Google People API-ra esett a választásom, mert ezek együttes használatával tudunk lekérdezni minden kritikus információt, amelyet később a webszolgáltatásunkban felhasználhatunk eredményesen.

g1

Az első dolog amivel szembesültem, hogy az API-k hazsnálatához a Google Developer Console-ban először létre kell hozni egy Projectet, amelyen keresztül majd aktiválnunk kell a használni kívánt szolgáltatásokat, ezzel aktiválva a megfelelő elérési pontokat is.

g2

Ha ezek megvannak már csak egy kliens ID-t, és kulcsot kell generálnunk, aminek a segítségével majd el tudjuk érni az engedélyezett szolgáltatásokat.

g3

A szolgáltatások használatba vételéhez azonban szükségünk lesz egy bejelentkezésre, vagy a felhasználó hozzájárulására, az adatok eléréséhez. Ezt az OAuth2.0 Authorization keretrendszer segítségével valósíthatjuk meg. Segítségével külső kliensek, legyen az natív, vagy webes, korlátozott idejű hozzáférést kaphatunk bizonyos szolgáltatásokhoz. A protokoll szerinti eljárás a következő:

g4

  1. A kliens hozzáférést kérvényez az erőforrás tulajdonosától.
  2. A kliens ezután kap egy hozzáférési engedélyt, ami egy meghatalmazás, ami az erőforrás tulajt képviseli.
  3. A kliens kérvényez egy hozzáférési Token-t(AccessToken), az engedélyeztető szervertől, az erőforrás tulaj meghatalmazásával.
  4. Az engedélyező szerver ez után felülvizsgálja a meghatalmazást, és engedélyezi a kérvényt, válaszul küldi a hozzáférési Token-t.
  5. A kliens ezután kérvényezheti a védett erőforrást az AccessToken használatával.
  6. Az erőforrás szerver pedig az AccessToken validálása után engedélyezi a kliensnek a használatát.

A megfelelő névterek megadása utána ennek a megvalósítása egy konzolos c# program keretében a következőképpen néz ki:

g5

Majd ezt az eljárást meghívom a main() metódusban, hogy a visszakapott credential változóval inicializálni tudja  a PlusService / PeopleService klienseket.

g6

A futtatásuknak eredménye, hogy a program a google authentikációs oldalára vezet minket, ahol kéri, hogy az általunk kérvényezett adatokhoz a hozzáférést engedélyezzük.

g7

g8

 

 

mint engedélyeztük a hozzáférést a program átirányít egy oldalra, amit megadtunk neki, ez majd a későbbiekben egy a webes programunk által használt megfelelő url lesz, amely feldolgozhatja a lekért kapott információkat. Két metódust valósítottam meg, az egyik, GetPeople(PeopleService service, string pageToken){ … } a felhasználó ismerőseinek a neveit kérdezi le(egyéb információik lekérdezésén, az egyszerűbb identifikáció miatt, még dolgozom), a másik, PlusUserInfo(PlusService Pservice){ … } pedig a felhasználó személyes adataiból kérdez le, majd adja vissza az infót listázva. Az n/a értéknél olyan kapcsolatokról van szó, ahol név nem, de más adat meg van adva, például csak egy email cím van az adatlapon.

g9

Leave a Reply