2012-02-07 88 views
15

我試圖從iOS應用內訪問YouTube,但iOS SDK已經過時了,而且源代碼很糟糕。我試圖訪問特定帳戶的播放列表,並將其顯示爲應用程序的一部分。是否有適用於iOS的RESTful YouTube API?

我可以使用任何API或URL端點嗎?我是否需要使用SDK,或者是否可以使用Objective-C手動製作HTTP請求? (我想LRResty或類似的東西。)

編輯:

我需要有使用基於REST的API的API密鑰?如果是這樣,我如何獲得一個?

回答

11

是的:你想Youtube Data API,可能是playlist feed。標準的HTTP請求將正常工作。

+0

我已經配置的應用程序和生成的客戶端密鑰和客戶端ID。在Xcode項目中,我從GTL服務文件夾添加了youTube。然後在使用GTMOAuth2Authentication設置auth後,我使用GTLQueryYouTube調用了查詢。當我執行查詢時,我得到了1001錯誤代碼,操作無法完成。 我在這裏跳過任何步驟嗎?我們是否需要在調用YouTube搜索列表之前使用GTMOAuth2ViewControllerTouch設置身份驗證? – iGo 2014-03-14 11:45:43

+1

我寫的這個教程可能會有幫助:http://nsrover.wordpress.com/2014/04/23/youtube-api-on-ios/ – NSRover 2014-04-23 08:17:45

3

我不確定這是否是您所說過時的SDK,但Objective-C的GDataLibrary可以爲您建立連接。

http://code.google.com/p/gdata-objectivec-client/

我一直用它做出谷歌電子表格和它一直工作得很好的連接。您可以選擇從項目中實施選擇服務,因此它不會在編譯時使用對您沒有任何意義的代碼來衡量您的項目。

我相信這個庫是在Objective-C

下面是關於如何將其設置爲你的項目中使用信息穀歌服務API的一個非常看包裝。

GData Introduction

+0

是的,正在談論這個。它根本不支持ARC,不能直接編譯。需要的方式太多調整。 – Moshe 2012-02-07 02:50:15

+0

你仍然可以將它包含在ARC項目中,只需添加一些特殊的編譯器指令即可。總而言之,這是相當sl。。花了我一點,讓它在我的項目中運行,只是認爲它值得一提 – MobileOverlord 2012-02-07 02:53:14

+0

我只是跟着你的鏈接 - 那裏的信息似乎...... *更好*但正如你所說,馬虎。 – Moshe 2012-02-07 02:54:58

4

我可以舉例說明如何在json forma中抓取youtube頻道公共活動feed(評論,喜歡,上傳...),而無需通過登錄身份驗證。

  1. 登錄您的Google帳戶並轉至https://code.google.com/apis/console創建一個API項目。
  2. 選擇創建另一個客戶端ID,選擇安裝的應用程序(IOS),插入您重定向URL並按創建
  3. 前往服務(左側灰色面板),並轉至頁面底部以啓用YouTube Data API v3服務。
  4. 在您的Xcode,使用iOS原生HTTP協議,你可以抓住通過請求API提供給用戶的信道活動: https://www.googleapis.com/youtube/v3/activities?channelId=YOUR_CHANNEL_ID&key=YOUR_API_KEY&part=snippet,contentDetails

  5. 你會得到一組數據。對於視頻供稿,您會看到有一個「videoId」。通過使用json字典解析器並請求視頻API: https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key=YOUR_API_KEY&part=player來抓取它,並且您將在json「embedHtml」參數中獲得視頻URL!

  6. 使用您的本機iOS視頻播放器播放視頻。

API參數參考:https://developers.google.com/youtube/v3/docs/channels/list 視頻API參數參考:https://developers.google.com/youtube/v3/docs/videos/list

相關問題