Interfejsy API sieci społecznościowych: portal internetowy do świata rzeczywistego

Opublikowany: 2022-03-11

Interfejsy API sieci społecznościowych przeszły długą drogę, odkąd firma Google wydała pierwszą wersję swojego interfejsu API YouTube w maju 2008 r., a Facebook wydał pierwszą wersję interfejsu API Graph w kwietniu 2010 r. Obecnie te interfejsy API dają możliwość odpytywania platform sieci społecznościowych o posty , użytkowników, kanały i dane demograficzne. Pozwalają nawet stworzyć własną usługę lub dowiedzieć się więcej o swojej bazie użytkowników.

W tym artykule przyjrzymy się sposobom wykorzystania niektórych popularnych interfejsów API sieci społecznościowych:

  • Facebook (interfejs API do wykresów i marketingu)
  • Instagram
  • Świergot
  • Youtube
  • Pinterest

Omówimy również ich ograniczenia i zapoznamy się z niektórymi przydatnymi narzędziami, które są dostępne do użytku z tymi interfejsami API. W dalszej części artykułu przyjrzymy się również, jak zintegrować te API z dowolną aplikacją Railsową.

Interfejsy API sieci społecznościowych: portal internetowy do świata rzeczywistego

Korzystaj z interfejsów API sieci społecznościowych, aby poznać swoich użytkowników lepiej niż oni sami.
Ćwierkać

Skoncentruję się na jednym interfejsie API sieci społecznościowych na raz i wyjaśnię jego możliwości, ograniczenia i dostępne narzędzia. W dalszej części tego artykułu pojawi się macierz z różnymi interfejsami API i ich właściwościami, która umożliwi lepsze porównanie.

Aby korzystać z interfejsów API, musisz najpierw skonfigurować aplikację, która tworzy zapytania w imieniu Twojej aplikacji za pomocą żądań opartych na protokole OAuth. Użytkownicy będą uwierzytelniać się w Twojej aplikacji, a następnie uzyskasz dostęp do ich danych za pomocą otrzymanego tokena dostępu użytkownika.

Facebook

Przestarzały FQL (Facebook Query Language) był kiedyś językiem zapytań podobnym do SQL, który mógł być używany do uzyskiwania dostępu do wszystkich danych z Facebooka.

Facebook wypuścił pierwszą wersję swojego Graph API w kwietniu 2010. Najnowsza wersja w momencie pisania tego artykułu to 2.6, która została wprowadzona 12 kwietnia 2016. Jest to API niskiego poziomu oparte na HTTP, które może być używane do wysyłania zapytań danych, twórz posty, a nawet twórz automatyczne kampanie reklamowe.

Narzędzia

Graph API Explorer jest najczęściej używanym narzędziem podczas pracy z Facebook API. Umożliwia wykonywanie zapytań Graph API w przeglądarce i sprawdzanie wyników: Możesz użyć jednego z tokenów dostępu swojej aplikacji lub utworzyć go w locie z wybranymi zakresami.

Możliwości

Graph API to interfejs API oparty na REST, który umożliwia tworzenie, aktualizowanie i usuwanie obiektów na żądanie HTTP w niektórych węzłach.

Token dostępu

Aby uruchamiać zapytania w interfejsie API Graph, potrzebujesz tokena dostępu, który jest uzyskiwany, gdy tylko użytkownik pomyślnie dokona autoryzacji w Twojej aplikacji. Token dostępu powinien być przechowywany przez Twoją aplikację.

Zakresy

Zakresy określają, jakie akcje można wykonać w imieniu użytkownika. Aplikacja prosi o określone zakresy, gdy użytkownik autoryzuje w aplikacji. Na przykład zakres publish_actions umożliwia aplikacji publikowanie postów w imieniu użytkownika. Zakres wiadomości e-mail umożliwia aplikacji odczytywanie wiadomości e-mail użytkownika. Pełny przegląd wszystkich zakresów znajduje się w oficjalnej dokumentacji.

Niektóre zakresy, takie jak publication_actions lub publish_actions , wymagają ads_management przez Facebooka przed wydaniem aplikacji.

Przykłady

Aby zademonstrować, jak działa Graph API, pokażę Ci, jak czytać, tworzyć, aktualizować i usuwać posty za pomocą API.

Aby uzyskać własne posty, możesz wykonać zapytanie GET /me/posts . Wynikiem będzie ciąg znaków JSON z listą postów, w tym ich wiadomością, created_time i id. Możesz użyć pretty parametru lub programu formatującego JSON, aby odpowiedź wyglądała na mniej zaśmieconą.

Aby uzyskać więcej danych o swoich postach, możesz rozszerzyć zapytanie o pola jako parametry zapytania. Na przykład zapytanie me/posts?fields=reactions, picture da ci zdjęcie i reakcje na post.

Aby utworzyć post, wystarczy wysłać akcję POST do kanału krawędziowego, np. me/feed , z parametrami takimi jak message: hello world . Graph API zwróci obiekt JSON z identyfikatorem utworzonego posta. Następnie możesz wyświetlić post pod adresem http://facebook.com/[post_id] .

Aby zaktualizować post, możesz wysłać żądanie POST do węzła posta z polami do aktualizacji jako parametrami; np. /[post_id] i parametry takie jak Message: lorem ipsum . Zwrócony zostanie wskaźnik sukcesu z wartością prawda lub fałsz.

Aby usunąć post, możesz po prostu wysłać żądanie DELETE do węzła z identyfikatorem postu (np. /[post_id] ). Zwracana wartość będzie obiektem JSON z wartością sukcesu true lub false.

Pełny przegląd wszystkich węzłów i akcji jest dostępny w Graph API Reference.

Marketingowy API

Marketingowe API zasługuje na szczególną uwagę, ponieważ jest potężnym narzędziem do zarządzania reklamami na Facebooku i uzyskiwania informacji o reklamach za pośrednictwem Twojej aplikacji.

Działa tak samo jak inne metody Graph API. Potrzebujesz jednak zakresu ads_management , aby uzyskać dostęp do reklam użytkownika. Facebook musi również przejrzeć Twoją aplikację, zanim będzie można ją opublikować.

Testowanie

Po utworzeniu aplikacji jest ona w trybie deweloperskim i automatycznie widoczna w panelu aplikacji (tj. https://developers.facebook.com/apps/ ).

W trybie deweloperskim dostęp do Twojej aplikacji mają tylko administratorzy, programiści i testerzy. Możesz dodać testerów i administratorów w sekcji ról pulpitu nawigacyjnego aplikacji.

Proces recenzji

Gdy dodajesz określone uprawnienia, Facebook musi sprawdzić Twoją aplikację, zanim będzie można ją opublikować. Proces przeglądu jest określony przez niniejszy zestaw wytycznych.

Aby przesłać określone elementy do sprawdzenia, możesz je po prostu dodać w sekcji Przegląd aplikacji na pulpicie nawigacyjnym aplikacji. Facebook poprowadzi Cię następnie przez proces weryfikacji i otrzymasz powiadomienie, gdy Twoja aplikacja zostanie zatwierdzona.

Ograniczenia i obejścia

Limity szybkości

Aplikacja może wykonać łącznie 200 połączeń na godzinę na użytkownika. Jeśli osiągniesz ten limit, wywołania interfejsu API spowodują błąd.

Wyszukiwanie postów na Facebooku

Facebook ogranicza wyszukiwanie postów i tagów na Facebooku za pomocą Graph API i FQL. Możesz jednak użyć interfejsu Google Search API, aby wyszukać publiczne posty na Facebooku, a następnie użyć identyfikatora posta w adresie URL, aby uzyskać więcej informacji o konkretnych postach za pośrednictwem interfejsu API Graph.

Uzyskiwanie niestandardowych danych o odbiorcach

Audience Insights na Facebooku to potężne narzędzie badawcze, które pozwala dowiedzieć się więcej o określonej grupie odbiorców w oparciu o zainteresowania, dane demograficzne lub inne atrybuty (np. zbiór adresów e-mail).

Nie znalazłem jednak sposobu na automatyczne tworzenie statystyk odbiorców za pośrednictwem interfejsu API reklam. Daj nam znać w komentarzach, jeśli masz jakieś kreatywne pomysły lub sugestie na ten temat.

Instagram

Ilustracja interfejsu API na Instagramie

Interfejs API Instagrama został po raz pierwszy wydany w kwietniu 2014 r. i umożliwia tworzenie aplikacji, które analizują posty użytkowników i pomagają użytkownikom zarządzać własnymi postami.

Narzędzia

Ponieważ konsola API od Instagrama jest przestarzała w czasie tego artykułu, polecam używać Apigee do celów testowych w przeglądarce.

Możliwości

Interfejs API Instagrama jest interfejsem API opartym na REST. Wszystkie jego punkty końcowe są opisane w ich oficjalnej dokumentacji.

Token dostępu

Aby uruchamiać zapytania w interfejsie API Instagrama, potrzebujesz tokena dostępu, który jest uzyskiwany zaraz po autoryzacji użytkownika w Twojej aplikacji. Aby użytkownik otrzymał token dostępu, musi zostać skierowany do adresu URL autoryzacji Twojej aplikacji. Następnie serwer przekieruje użytkownika po autoryzacji Twojej aplikacji i wtedy będziesz mógł odczytać token.

Zakresy

Twoja aplikacja może prosić o różne uprawnienia. Na przykład „podstawowe” ogranicza Cię do czytania informacji o profilu użytkownika i multimediów. „Public_content” umożliwia czytanie dowolnego profilu publicznego i mediów w imieniu użytkownika.

Przykłady

Aby zademonstrować, jak działa interfejs API Instagrama, przejdę przez kilka przykładów opartych na punkcie końcowym mediów https://api.instagram.com/v1/media/popular .

Ten punkt końcowy zwraca obecnie popularne media z Instagrama, jeśli jako parametr przekazano token dostępu. Wynikiem będzie tablica postów JSON zawierająca dla każdego identyfikatora mediów, link do jego obrazu, polubienia, komentarze, użytkownika, który je opublikował, i kilka innych atrybutów.

Możesz użyć apigee, aby pobawić się i dowiedzieć się więcej o punktach końcowych API i ich parametrach.

Testowanie

Każda nowa aplikacja stworzona na platformie Instagram uruchamia się w trybie piaskownicy. Jest to w pełni funkcjonalne środowisko, które umożliwia testowanie publicznie dostępnych punktów końcowych interfejsu API przed przesłaniem aplikacji do przeglądu.

Aby przetestować swoją aplikację, po prostu utwórz wersję testową i uruchamiaj wszystkie zapytania za pośrednictwem tej wersji, a nie wersji aktywnej, która przeszła ocenę.

Proces recenzji

Aplikacje w trybie piaskownicy mogą korzystać z dowolnego punktu końcowego interfejsu API, ale są ograniczone do ograniczonej liczby użytkowników i multimediów. To świetny mechanizm do tworzenia i testowania aplikacji.

Aby rozpocząć transmisję na żywo i uzyskać dostęp do wszystkich treści na Instagramie, musisz przesłać swoje zgłoszenie do sprawdzenia. Po sprawdzeniu będziesz mógł poprosić o zakresy tylko dla użytkowników, dla których Twoja aplikacja została zatwierdzona.

Ograniczenia i obejścia

Analiza demograficzna

W chwili pisania tego artykułu nie ma możliwości uzyskania informacji o wieku, płci lub zainteresowaniach użytkowników publicznych, ponieważ Instagram nie dostarcza tych informacji.

Aby uzyskać dane demograficzne o obserwujących lub listę użytkowników Instagrama, musisz przejrzeć ich wszystkich i spróbować określić ich wiek, płeć lub zainteresowania na podstawie ich obserwujących lub informacji zawartych w ich biografii.

Dobre rozwiązanie Big Data dla tego problemu może być cenną usługą dla niektórych firm.

Limity szybkości

Wszystkie limity stawek na platformie Instagram są kontrolowane za pomocą tokena dostępu w przesuwanym 1-godzinnym oknie. Aplikacje na żywo mają wyższe limity szybkości niż aplikacje w trybie piaskownicy. Globalny limit szybkości dla aplikacji działającej na żywo wynosi obecnie 5000 połączeń na godzinę.

Świergot

Twitter API został po raz pierwszy wydany we wrześniu 2006 roku. Jest to publiczny interfejs API REST, który zapewnia dostęp do odczytu i zapisu danych Twittera. Uwierzytelnianie odbywa się przy użyciu protokołu OAuth. Odpowiedzi są w formacie JSON.

Narzędzia

Twitter posiada konsolę API wspieraną przez apigee, która może być używana do testowania żądań w przeglądarce.

Możliwości

Interfejs API REST pozwala uzyskać tweety użytkownika, obserwujących i obserwowanych ludzi. Możesz także wyszukiwać hashtagi w innych tweetach.

Token dostępu

Twitter pozwala tworzyć aplikacje, w których użytkownicy mogą się uwierzytelniać w zamian za token dostępu. Model uwierzytelniania to OAuth.

Zakresy

Istnieją tylko dwa uprawnienia, które należy ustawić na stronie ustawień aplikacji: Tylko do odczytu oraz Odczyt i zapis. Ta ostatnia pozwala tworzyć tweety i wykonywać inne czynności związane z publikowaniem w imieniu użytkownika.

Przykłady

Aby zademonstrować użycie Twitter API, pobiorę tweety autoryzowanego użytkownika. Wynikiem jest tablica JSON zawierająca obrazy, ulubione, retweety, adresy URL, datę utworzenia i inne atrybuty tweeta. Użyj Apigee, aby bawić się i dowiedzieć się więcej o punktach końcowych API i ich parametrach.

Proces testowania i przeglądu

Obecnie nie ma dostępnego procesu sprawdzania ani trybu testowego dla interfejsu Twitter API.

Ograniczenia i obejścia

Analiza demograficzna

Obecnie nie ma łatwego sposobu na uzyskanie danych demograficznych od czyichś obserwatorów na Twitterze. Podejście brutalnej siły polegałoby na przeglądaniu każdego obserwującego i próbowaniu uzyskania danych za pośrednictwem ich biologicznych i połączonych kont w sieciach społecznościowych.

Następnie możesz poczynić dalsze założenia na podstawie zebranych danych obserwujących poprzez analizę danych. Innym sposobem na uzyskanie większej ilości informacji jest płatna platforma GNIP z interfejsami API dla przedsiębiorstw na Twitterze. Między innymi umożliwia tworzenie odbiorców i uzyskiwanie informacji o nich za pośrednictwem interfejsu API. Interfejs API jest obecnie w wersji BETA.

Limity szybkości

Twitter ma limity stawek na użytkownika i na 15 minut. Jeśli Twoja aplikacja ma wiele tokenów, możesz po prostu zastępować tokeny dla operacji publicznych, aby uniknąć przekroczenia limitu.

Youtube

Ilustracja API YouTube

Interfejs API danych YouTube został po raz pierwszy wprowadzony w styczniu 2013 r. Umożliwia dodawanie funkcji YouTube do aplikacji, wyszukiwanie treści i analizowanie danych demograficznych kanału YouTube. Jest to oparty na tokenie interfejs API REST oparty na protokole OAuth, który zwraca odpowiedzi JSON.

Narzędzia

API Explorer umożliwia testowanie nieautoryzowanych i autoryzowanych żądań. Możesz uruchamiać żądania z przeglądarki na dostarczonych punktach końcowych.

Możliwości

Możesz między innymi pracować z aktywnościami, czatami, transmisjami na żywo, listami odtwarzania, kanałami, filmami i subskrypcjami. Większość punktów końcowych wymaga autoryzacji za pomocą konta YouTube.

Token dostępu

Interfejs YouTube Data API obsługuje protokół OAuth 2.0 do autoryzacji dostępu do prywatnych danych użytkownika. Gdy użytkownik zostanie autoryzowany w Twojej aplikacji, zostanie przekierowany do Twojej aplikacji, gdzie należy zapisać token dostępu.

Aby korzystać z autoryzacji OAuth 2.0, musisz najpierw uzyskać dane uwierzytelniające w konsoli programisty Google.

Zakresy

Interfejs API danych YouTube obsługuje obecnie następujące zakresy:

  • Wymuś SSL - Zarządzaj swoim kontem YouTube, ale tylko przez połączenie SSL.
  • Domyślny — zarządzaj swoim kontem YouTube. Ten zakres jest funkcjonalnie identyczny z zakresem youtube.force-ssl, ale nie wymaga połączenia SSL.
  • Tylko do odczytu — wyświetl swoje konto YouTube.
  • Prześlij — przesyłaj filmy z YouTube i zarządzaj swoimi filmami w YouTube.
  • Audyt kanału partnera — pobierz informacje, które sieci wielokanałowe wykorzystują jako kryteria akceptowania lub odrzucania kanału w swojej sieci.

Przykłady

Jako przykład wykorzystania Youtube Data API, następujące zapytania dotyczące filmów z „kodowaniem” w tytule i opisie:

 https://www.googleapis.com/youtube/v3/search?part=snippet&q=coding&key={YOUR_API_KEY}

Wynikiem jest obiekt JSON zawierający tytuł, opis, videoId i channelId. Możesz użyć tego ostatniego, aby dowiedzieć się więcej o kanale.

Parametr part jest wymagany dla każdego żądania API, które zwraca określony zasób. Parametr identyfikuje właściwości zasobów, które powinny zostać uwzględnione w odpowiedzi interfejsu API. Na przykład zasób wideo składa się z następujących części: snippet, contentDetails, fileDetails, player, processingDetails, nagrywanieDetails, statystyki, status, sugestie, topicDetails.

Wszystkie inne parametry, z wyjątkiem klucza API, różnią się w zależności od wywołania. Przeczytaj więcej na ten temat w przewodniku API.

Pinterest

Interfejs API Pinterest został pierwotnie wydany w kwietniu 2015 r. Jest to interfejs API RESTful, który zapewnia dostęp do danych użytkownika na Pinterest, takich jak tablice, piny, obserwujący i inne. Interfejs API Pinteresta korzysta z protokołu OAuth i umożliwia zarówno odczyt, jak i zapis podczas interakcji z treścią użytkownika.

Narzędzia

Podobnie jak inne, Pinterest udostępnia Eksplorator API do testowania ich punktów końcowych i uruchamiania na nich zapytań. Możesz rzucić okiem na wszystkie ich narzędzia tutaj.

Możliwości

Interfejs API Pinterest REST umożliwia tworzenie pinów, tablic i zapytań o dane Pinteresta za pomocą OAuth.

Token dostępu

Pinterest używa protokołu OAuth 2.0 do uwierzytelniania żądań między Twoją aplikacją a użytkownikami. Wszystkie żądania muszą być przesyłane przez HTTPS.

Zakresy

Zakresy określają, co aplikacja może zrobić w imieniu użytkownika. Pinterest używa następujących zakresów:

  • none (musi znać identyfikator): użyj metody GET na profilu użytkownika, tablicy i szczegółach Pina oraz Pinach na tablicy.
  • read_public : Użyj metody GET na Pinach, tablicach i polubieniach użytkownika.
  • write_public : Użyj metod PATCH, POST i DELETE na pinach i tablicach użytkownika.
  • read_relationships : Użyj metody GET na obserwowanych i obserwujących użytkownika (na tablicach, użytkownikach i zainteresowaniach).
  • write_relationships : Użyj metod PATCH, POST i DELETE na obserwowanych i obserwujących użytkownikach (na tablicach, użytkownikach i zainteresowaniach).

Przykłady

Aby zademonstrować korzystanie z API Pinterest, zademonstruję, jak czytać najnowsze piny użytkownika:

https://api.pinterest.com/v1/me/pins/?access_token={your_token}&fields=id,link,note,url,counts,board,created_at zwróci piny użytkownika wraz z jego identyfikatorem, linkiem, notatką, URL, polubienia i repiny.

Proces testowania i przeglądu

Aplikacje są początkowo w trybie programistycznym i muszą zostać przesłane do sprawdzenia, zanim zostaną wydane w trybie produkcyjnym.

Ograniczenia i obejścia

Analiza demograficzna

Nie ma wspólnego sposobu uzyskania danych demograficznych z tablicy. Możesz jednak spróbować zdobyć obserwujących tablicę i informacje o nich z ich biografii i linków do innych kont sieci społecznościowych. Możliwe byłoby również rozwiązanie big data nad wspólnymi połączeniami użytkownika.

Wyszukaj szpilki

Obecnie nie ma możliwości wyszukiwania pinów z określonymi tagami lub słowami kluczowymi za pośrednictwem interfejsu API. Możesz ominąć to ograniczenie, używając interfejsu API wyszukiwarki niestandardowej Google do wyszukiwania wyników tylko przy pinach Pinteresta i gromadzenia identyfikatora pinu za pomocą adresu URL. Identyfikator może być następnie wykorzystany do uzyskania informacji o kodzie za pośrednictwem interfejsu API.

Limity szybkości

Każda aplikacja (z unikalnym identyfikatorem aplikacji) może wykonać 1000 wywołań na punkt końcowy na godzinę dla każdego unikalnego tokena użytkownika.

Każda odpowiedź API zwraca nagłówek, który zawiera aktualizację o limitach szybkości. X-Ratelimit-Limit to limit stawki dla tego konkretnego żądania, a X-Ratelimit-Remaining to liczba żądań pozostałych w 60-minutowym oknie.

Jeśli przekroczysz limit szybkości dla danego punktu końcowego, otrzymasz kod błędu 429 „Za dużo żądań”.

Porównanie interfejsów API sieci społecznościowych

Wersja Autoryzacja OAuth Format Dane demograficzne
Facebook v2.6
Pierwsze wydanie: kwiecień 2010
OAuth 2 Żądania REST z odpowiedziami JSON Utrzymany
Instagram v1
Pierwsze wydanie: kwiecień 2014
OAuth 2 Żądania REST z odpowiedziami JSON Niewspierany
Świergot v1.1
Pierwsze wydanie: wrzesień 2006
Autoryzacja OAuth 1 Żądania REST z odpowiedziami JSON Obsługiwane tylko z GNIP
Youtube v3
Pierwsze wydanie: styczeń 2013 r.
OAuth 2 Żądania REST z odpowiedziami JSON Utrzymany
Pinterest v1
Pierwsze wydanie: kwiecień 2015
OAuth 2 Żądania REST z odpowiedziami JSON Niewspierany

Aplikacja demonstracyjna z Devise

Integracja tych interfejsów API w nowych lub istniejących aplikacjach dzięki mnóstwu pakietów i bibliotek interfejsów API sieci społecznościowych jest łatwiejsza niż kiedykolwiek. Większość nowoczesnych platform i frameworków ma sprawdzone biblioteki innych firm, które nawet ujednolicają aspekt uwierzytelniania wszystkich tych interfejsów API w jedną bibliotekę ze zgrabną architekturą wtyczek.

Ilustracja API sieci społecznościowej

W tym artykule przyjrzymy się, jak Devise, klejnot Ruby, robi to tak elegancko dla aplikacji Rails. Devise to elastyczna biblioteka uwierzytelniania oparta na Warden, która implementuje uwierzytelnianie, rejestrację, logowanie i przechowywanie danych dla wielu dostawców logowania. Jeśli jesteś bardziej front-endowym facetem i chcesz sprawdzić coś podobnego dla AngularJS, spójrz na ten artykuł.

Devise, podobnie jak większość bibliotek tej klasy, nie ma wbudowanej obsługi żadnego z wyżej wymienionych interfejsów API sieci społecznościowych. Wsparcie dla każdego z tych interfejsów API sieci społecznościowych jest zapewniane przez dodatkowe klejnoty. Następujące klejnoty są dostępne dla uwierzytelniania Rails, które obejmują 5 dostawców omówionych w tym artykule:

 gem 'omniauth-facebook' gem 'omniauth-pinterest' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' gem 'omniauth-instagram'
Jedną z najlepszych rzeczy w Railsach jest to, że istnieje wiele wtyczek napisanych przez społeczność open source. Są one dystrybuowane jako klejnoty. Wymienione w centralnym pliku konfiguracyjnym, te klejnoty są zarządzane przez Bundler.

Ponieważ zapewniają one tylko uwierzytelnianie, rejestrację, logowanie i przechowywanie dla każdego z tych dostawców, będziemy również musieli uzyskać następujące klejnoty dla rzeczywistych klientów API:

 gem 'twitter' # https://github.com/sferik/twitter gem 'instagram' # https://github.com/facebookarchive/instagram-ruby-gem gem 'koala' # (Facebook API) https://github.com/arsduo/koala gem 'google-api-client' # (YouTube API), https://github.com/google/google-api-ruby-client gem 'pinterest-api' # https://github.com/realadeel/pinterest-api

Omniauth i uwierzytelnianie

Aby użytkownik mógł autoryzować Twoją aplikację u Twojego dostawcy, możesz po prostu podać link z następującą ścieżką:

 omniauth_authorize_path('user', :facebook) omniauth_authorize_path('user', :instagram) ...

Aby zareagować na wywołanie zwrotne po uwierzytelnieniu użytkownika, możesz zdefiniować OmniauthCallbacksController z zakresami jako funkcje takie jak:

 class AuthenticationsController < Devise::OmniauthCallbacksController def facebook if request.env["omniauth.auth"] ... end end end

To jest miejsce na dodanie nowego modelu uwierzytelniania z tokenem i danymi do swojej aplikacji:

 authentication = where(provider: omniauth.provider, user_id: user.id) .first_or_create do |auth| auth.user = user auth.uid = omniauth.uid auth.secret = omniauth.credentials.secret auth.token = omniauth.credentials.token ... end

Wykonywanie wywołań API

Oto przykład, jak używać Koala do wysyłania zapytań do interfejsu API Facebooka. Reszta dostawców działa mniej więcej podobnie i jest udokumentowana w README klejnotu.

W ten sposób uzyskujesz dane użytkownika za pomocą Koala:

 authentication = user.authentication_for_provider(:facebook) token = authentication.token api = Koala::Facebook::API.new(token) results = api.get_object("me")

Następnie możesz użyć wyniku JSON zwróconego przez interfejs API. Kod źródłowy tej aplikacji demonstracyjnej jest dostępny na GitHub.

Zakończyć

Interfejsy API sieci społecznościowych zapewniają potężne narzędzie do wysyłania zapytań do dużego zestawu danych sieci społecznościowych i zbierania dużych zbiorów danych dla Twojej aplikacji. Możesz zbudować usługę na podstawie tych interfejsów API lub użyć ich do ulepszenia własnych informacji o aplikacjach i użytkownikach.

Railsy i dostępne klejnoty ułatwiają integrację tych interfejsów API z Twoją aplikacją railsową i wysyłanie zapytań do interfejsów za pomocą warstwy abstrakcji między Twoją aplikacją a interfejsem API.