A következő szociális oldal API, aminek nekiálltam a LinkedIn , azon belül is a Sparkle.LinkedIn nevű API. Az API beszerezhető a https://github.com/SparkleNetworks/LinkedInNET oldalról, vagy a Visual Studióban, a Nuget csomagkezelőn keresztül az Install-Package Sparkle.LinkedInNET parancs futtatásával. Egy alap dokumentációt, ami a REST API, és OAuth részeket nagyjából lefedi a https://developer.linkedin.com/docs címen érhetjük el. Ezek segítségével valósítottam meg a kis kód részletet, amellyel felhasználói adatokat tudtam lekérdezni a LinkedIn oldaláról.
Elsőnek az https://developer.linkedin.com oldalon létre kellett hozni egy alkalmazást, amely a végpontot biztosítja majd az adatlekéréseknek, és bejelentkeztetéseknek. A már létező alkalmazásokat a bal oldalon láthatjuk.
Az alkalmazás elkészítésekor meg kell adni, az általános információkat, mint az applikáció neve, rövid leírás, egy kép, ami a program logójakén szolgál, Az app honlapjának címe, valamint az email, és telefonszámot, amelyhez az app regisztrálva lesz. Amint Létrehoztuk az alkalmazásunkat, azt megtalálhatjuk a My Apps menüpont alatt, és be is léphetünk annak kezelőfelületére.
Egyből lehet is látni, hogy a vezérlőpult első oldalán megkaptuk a programunkhoz tartozó szükséges kulcsokat, amelyekkel be tudunk léptetni egy felhasználót a későbbiekben, és kérvényezni tudjuk az AccessToken –t, hogy le tudjuk kérni a felhazsnálói adatokat, amikre szükségünk lesz. Továbbá itt adhatjuk meg, hogy mely adatokhoz való hozzáférést kérjük a felhasználótól, és megadhatjuk a megfelelő visszatérési címeket, amelyekkel a visszaküldött adatot majd feldolgozhatjuk.
A menü többi részében főleg az app alap adatait változtattathatjuk, valamint szerepeket oszthatunk ki további fejlesztőknek, hogy ki férhet hozzá az apphoz, és ki nem. A Usage & Limits oldalon a használati információkat, és a limiteket tekinthetjük meg.
A .NET -es programban a Sparkle API telepítése után munkának is láthatunk. Először be kell állítanunk a kulcsokat, amikkel majd azonosítani tudjuk magunkat a LinkedIn -es alkalmazásnak. Ezeket a kulcsokat a LinkedInController -ben adtam meg. Kezdésnek a Profile() nevű eljárást hívom meg, amelyben beállítom a redirectUrl -t, valamint a hitelesítő url-t.
A hitelesítő url -t egy külön eljárásban építettem fel, amit GetAuthorizationUrl() -nek neveztem. Ebben az eljárásban először példányosítom az api-t CreateAPI() eljáráson belül. Itt állítom be a megfelelő kliens kulcsokat is. Ezt visszaadva a GetAuthorizationUrl() eljárásnak következőleg a scopeokat állítom be, hogy mely adatokhoz kérek az appon keresztül hozzáférést. A beállított változókkal végül összerakom a hitelesítő url -t, amire átirányítva a felhasználót be tud jelentkezni.
A Profile() eljárásban a visszatérési url -nek viszont már egy másik eljárásra mutató url -t adtam meg, a ProfileReturn() eljárást. Ahogy a neve is mutatja, ebben az eljárásban olvashatjuk ki a bejelentkezett felhasználó adatait. Egy profile változóba tárolom a kapott adatokat, amiket a ReadMyProfile() eljárás kér le a már meglevő AccessToken -ek, és az általunk kiválasztott mezőválasztó segítségével.
Az adatok ideiglenes tárolóba helyezése után a átirányítom az oldalt az index -re, ahol a TempData -ból kiolvasom, és kiíratom a kapott eredményeket.