2015-05-01 20 views
12

Ho cercato sul web tutorial e istruzioni ma non ho trovato nulla su questo ... Quindi speravo che qualcuno qui potesse indicarmi la giusta direzione o semplicemente collegare dei buoni tutorial. (A proposito, sono disposto a creare un'app client YouTube di base che consenta all'utente di cercare video e di guardarli ... niente di troppo).Come utilizzare l'API di YouTube per un'app iOS?

Grazie in anticipo!

+1

possibile duplicato del [iOS App e cliente youtube] (http://stackoverflow.com/questions/23424438/ios -app-and-youtube-client) – Yuyutsu

risposta

15

Oh amico .... benvenuto benvenuti nel mondo di analizzare i file JSON e messa su con le API documentate MALE :)

Beh, io stavo cercando in questo un paio di mesi fa e sono riuscito a farlo funzionare. Qui ci sono le cose che dovete fare:

Fase 1 - OAuth 2.0 Integrazione

Sarà la vostra applicazione consentirà all'utente di accedere per YouTube in modo che essi possono commentare/come/etc ... video? Se è così, dovrai prima far accedere l'utente all'API di YouTube tramite la tua app prima di poter fare questo genere di cose. Per fare ciò, la tua app dovrà utilizzare OAuth 2.0 per comunicare con l'API di YouTube. Qui è una libreria superba, che è possibile utilizzare per l'autenticazione con l'API di YouTube tramite OAuth 2.0: https://github.com/BHughes3388/BAHYouTubeOAuth

Fase 2 - Portachiavi - token di accesso di stoccaggio

Se sei un nuovo autenticazione OAuth, allora può essere in un primo momento scoraggiante, ma una volta che ci giocate e vi familiarizzate, vi renderete conto che è molto facile lavorare.

Nel complesso, il modo in cui funziona è che l'app contatti l'API (in questo caso l'API di YouTube V3) e richiede una pagina Web. La pagina Web consente all'utente di accedere all'APi e concedere l'accesso alla tua app. Una volta che questo è stato fatto, l'API invierà alla tua app un "token di accesso". Questo token dovrà essere utilizzato in tutte (o la maggior parte) delle tue richieste API (dipende dal tipo di richiesta).

Una volta ottenuto il "token di accesso", sarà necessario memorizzarlo in modo sicuro. È fondamentalmente una password, quindi è necessario tenerlo al sicuro. Do non fare ciò che alcune persone fanno, che è quello di utilizzare NSUserDefaults, che non è affatto sicuro. Invece dovrai usare Keychain. Questa è la libreria sicura di crittografia/archiviazione di Apple che può essere facilmente utilizzata per salvare stringhe sicure come le password.

Per poter utilizzare portachiavi per memorizzare in modo sicuro e recuperare il "token di accesso" quando ne hai bisogno, dare un'occhiata a questo SO messaggio, la sua grande: How to use Keychain for saving password like GenericKeychain sample code

Fase 3 - YouTube API V3-https://developers.google.com/youtube/v3/

Proprio così ora, il bit più difficile. Devi leggere l'API di Google YouTube V3 e consultare i documenti di riferimento dell'API per trovare gli URL specifici che restituiranno i dati che stai cercando. Per esempio: se si vuole ottenere un elenco di video dal feed di un utente o da una semplice ricerca, allora date un'occhiata a questa pagina di riferimento API: https://developers.google.com/youtube/v3/docs/videos/list

Fase 4 - Estrarre l'URL del video

Prima di parlare ulteriormente di questo passaggio, devo dire che Google dice che dovresti presentare i video in una semplice webview con codice HTML di YouTube che incorpora semplicemente la visualizzazione video nella tua app.Ma secondo me (e molti altri sviluppatori), questo sembra e funziona in modo orribile ...

Quindi, se vuoi visualizzare video di YouTube nella tua app tramite MPMovieplayerController nativo, devi prima estrarre l'URL del video prima di poterlo fare.

Quando si effettua una richiesta all'API di YouTube per una serie di video, si otterrà un file JSON, questo file contiene un elenco di video (ID video, titoli, date, ecc ....) .

Sarà necessario analizzare il file JSON per gli ID video. Una volta che tu o l'utente dell'app hai selezionato il video che desideri, dovrai utilizzare l'ID del video per quel determinato video in una libreria "estrattore di link video di YouTube". Questa libreria restituirà quindi un insieme di collegamenti di file video per quel video. Questi collegamenti possono essere utilizzati in combinazione con MPMovieplayerController per visualizzare il video in modo nativo.

Qui è un grande file video di YouTube url estrattore - https://github.com/runmad/RMYouTubeExtractor

Buona fortuna :)

+3

Wow ... grazie amico! Questa è la risposta perfetta di cui avevo bisogno. :) –

+1

Ciò interrompe i Termini di servizio di YouTube. L'unico modo per riprodurre i video di YouTube in un'applicazione iOS senza rompere alcun TOS è attraverso YTPlayerView di YouTube: https://github.com/youtube/youtube-ios-player-helper – JAL

+0

@ BalázsVincze Siete i benvenuti :) –