Oh kolego .... Witamy na świecie parsowania plików JSON i oddanie się ze złym udokumentowane API :)
Cóż ja patrząc na to kilka miesięcy temu i udało mi się uzyskać jego pracy. Oto rzeczy trzeba zrobić:
Krok 1 - OAuth 2.0 Integracja
Czy aplikacja pozwala użytkownikowi zalogować się do YouTube, tak aby mogły wypowiedzieć się/jak/etc ... filmy? Jeśli tak, musisz poprosić użytkownika, aby najpierw zalogował się do interfejsu API serwisu YouTube za pośrednictwem aplikacji, zanim będzie mógł wykonywać te czynności. W tym celu Twoja aplikacja będzie musiała używać OAuth 2.0 do komunikacji z interfejsem API YouTube. Oto wspaniała biblioteka, które można użyć do uwierzytelniania z API YouTube poprzez OAuth 2.0: https://github.com/BHughes3388/BAHYouTubeOAuth
Krok 2 - Brelok - Dostęp Reklamowe przechowywania
Jeśli jesteś nowy uwierzytelniania OAuth, to może być na początku zniechęcający, ale gdy już się z nim obejrzysz i zapoznasz z nim, zrozumiesz, że bardzo łatwo z nim pracować.
Ogólny sposób działania aplikacji polega na tym, że aplikacja kontaktuje się z interfejsem API (w tym przypadku z interfejsem API YouTube V3) i wysyła żądanie strony internetowej. Strona umożliwia zalogowanie się do APi i przyznanie dostępu do aplikacji. Gdy to zrobisz, API wyśle twoją aplikację "token dostępu". Ten token będzie musiał być używany we wszystkich (lub większości) żądaniach API (zależy to od typu żądania).
Po uzyskaniu "tokena dostępu" należy go bezpiecznie przechowywać. Zasadniczo jest to hasło, więc musisz go chronić. Wykonaj , a nie rób to, co robią niektórzy ludzie, to jest używać numeru NSUserDefaults
, który w ogóle nie jest bezpieczny. Zamiast tego będziesz musiał użyć Keychain. Jest to bezpieczna biblioteka szyfrowania/przechowywania firmy Apple, którą można z łatwością wykorzystać do zapisywania bezpiecznych ciągów, takich jak hasła.
Aby korzystać Keychain bezpiecznie przechowywać i pobierać "token dostępu", gdy jest to potrzebne, spojrzeć na to SO postu, jego wielki: How to use Keychain for saving password like GenericKeychain sample code
Krok 3 - YouTube API V3 - https://developers.google.com/youtube/v3/
Tak, teraz, tym trudniej. Musisz przeczytać Google API API V3 i przejść przez dokumenty referencyjne API, aby znaleźć konkretne adresy URL, które zwrócą dane, których szukasz. Na przykład: jeśli chcesz uzyskać listę filmów z kanału domowego użytkownika lub od prostego wyszukiwania, a następnie spojrzeć na tej stronie odniesienia API: https://developers.google.com/youtube/v3/docs/videos/list
Krok 4 - Wyciąg URL wideo
Zanim przejdę dalej do tego kroku, powinienem wspomnieć, że Google twierdzi, że należy prezentować filmy w prostym widoku internetowym za pomocą kodu HTML YouTube, który po prostu osadza widok wideo w aplikacji.Ale moim zdaniem (i wielu innych programistów) to wygląda i działa okropnie ...
Jeśli więc chcesz wyświetlać filmy z YouTube w swojej aplikacji przez natywny MPMovieplayerController, musisz najpierw wyodrębnić URL filmu zanim to zrobisz.
Po zgłoszeniu się do interfejsu API serwisu YouTube w celu uzyskania zestawu filmów wideo, otrzymasz plik JSON z powrotem, plik ten zawiera listę filmów wideo (identyfikatory wideo, tytuły, daty itp.). .
Należy przeanalizować plik JSON pod kątem identyfikatorów wideo. Gdy użytkownik lub użytkownik aplikacji wybrał żądany film, należy użyć, a następnie przekazać identyfikator wideo tego konkretnego filmu wideo do biblioteki "ekstraktora łącza wideo YouTube". Ta biblioteka następnie zwróci zestaw linków do plików wideo dla tego wideo. Łącza te mogą być używane w połączeniu z MPMovieplayerController do wyświetlania wideo natywnie.
Oto wielki plik wideo YouTube url ekstraktorze - https://github.com/runmad/RMYouTubeExtractor
Powodzenia :)
możliwe duplikat [iOS i klienta youtube] (http://stackoverflow.com/questions/23424438/ios -app-and-youtube-client) – Yuyutsu