2012-02-07 42 views
15

Tôi đang cố gắng truy cập YouTube từ bên trong ứng dụng iOS, nhưng SDK iOS hơi lỗi thời và nguồn không đáng kể. Tôi đang cố truy cập danh sách phát của một tài khoản cụ thể và hiển thị danh sách phát như một phần của ứng dụng.Có API YouTube RESTful dành cho iOS không?

Có bất kỳ API hoặc điểm cuối URL nào mà tôi có thể sử dụng không? Tôi có cần sử dụng SDK hay tôi có thể thủ công các yêu cầu HTTP bằng cách sử dụng Objective-C không? (Tôi đang nghĩ đến LRResty hoặc một cái gì đó tương tự.)

Edit:

Tôi có cần phải có một khóa API để sử dụng API RESTful? Nếu vậy, làm thế nào để có được một?

Trả lời

11

Yep: bạn muốn số Youtube Data API, có lẽ là playlist feed. Các yêu cầu HTTP chuẩn sẽ hoạt động tốt.

+0

Tôi đã cấu hình một ứng dụng và tạo ra bí mật của khách hàng và id khách hàng. Trong dự án Xcode, tôi đã thêm youTube từ thư mục dịch vụ GTL. Sau đó tôi đã gọi truy vấn bằng GTLQueryYouTube sau khi cài đặt auth bằng GTMOAuth2Authentication. Khi tôi thực hiện truy vấn tôi nhận được mã lỗi 1001, hoạt động không thể hoàn thành. Tôi có bỏ qua bất kỳ bước nào ở đây không? Chúng ta có cần thiết lập xác thực bằng cách sử dụng GTMOAuth2ViewControllerTouch trước khi gọi danh sách tìm kiếm youtube không? – iGo

+1

Hướng dẫn này tôi đã viết có thể hữu ích: http://nsrover.wordpress.com/2014/04/23/youtube-api-on-ios/ – NSRover

3

Tôi không chắc liệu đây có phải là SDK bạn đang nói về việc lỗi thời hay không, nhưng GDataLibrary for Objective-C có thể tạo kết nối cho bạn.

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

Tôi đã sử dụng nó để làm cho các kết nối đến Google Spreadsheets và nó đã làm việc khá tốt. Bạn có thể chọn triển khai các dịch vụ được chọn từ Dự án để nó không cân nhắc dự án của bạn ở thời gian biên dịch với mã không có ý nghĩa gì đối với bạn.

Tôi tin rằng thư viện này là một wrapper khá tìm kiếm dịch vụ API của Google trong Objective-C

Dưới đây là thông tin về làm thế nào để thiết lập nó để sử dụng với dự án của bạn.

GData Introduction

+0

Yea, đã nói về điều đó. Nó không hỗ trợ ARC và không biên dịch ra khỏi hộp. Cần quá nhiều tinh chỉnh. – Moshe

+0

Bạn vẫn có thể đưa nó vào các dự án ARC, chỉ cần thêm một vài chỉ thị trình biên dịch đặc biệt. tất cả trong tất cả, nó là khá cẩu thả. Đã cho tôi một chút để có được nó chạy trong dự án của tôi, chỉ nghĩ rằng nó là đáng nói đến – MobileOverlord

+0

Tôi chỉ cần theo liên kết của bạn - các thông tin có vẻ ... * tốt hơn * nhưng như bạn nói, cẩu thả. – Moshe

4

Bạn có thể làm điều đó với cách RESTful với YouTube Data API.

Here là ví dụ hoạt động sử dụng nó.

4

Tôi có thể cung cấp cho bạn ví dụ về việc lấy nguồn cấp dữ liệu hoạt động công khai trên kênh youtube (nhận xét, thích, tải lên ...) trong biểu mẫu json, mà không phải thực hiện xác thực đăng nhập.

  1. Đăng nhập tài khoản Google của bạn và truy cập https://code.google.com/apis/console để tạo dự án API.
  2. Chọn Tạo Một ID Khách hàng, chọn cài đặt ứng dụng (iOS), chèn chuyển hướng của bạn URLvà nhấn Tạo.
  3. Đi tới Dịch vụ (bảng điều khiển màu xám bên trái) và chuyển đến cuối trang để bật Dịch vụ API dữ liệu YouTube v3.
  4. Trong Xcode của bạn, bằng cách sử dụng giao thức HTTP iOS bản xứ, bạn chỉ có thể lấy hoạt động kênh của người dùng nuôi bằng cách yêu cầu các API: https://www.googleapis.com/youtube/v3/activities?channelId=YOUR_CHANNEL_ID&key=YOUR_API_KEY&part=snippet,contentDetails

  5. Bạn sẽ nhận được một loạt các dữ liệu.Đối với nguồn cấp dữ liệu video, bạn sẽ thấy có "videoId". Lấy nó bằng cách sử dụng trình phân tích cú pháp từ điển và từ điển của bạn và yêu cầu API cho video: https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key=YOUR_API_KEY&part=player và bạn sẽ nhận được URL của video trong thông số "embedHtml" json!

  6. Sử dụng trình phát video iOS gốc để phát video.

API Parameter Tham khảo: https://developers.google.com/youtube/v3/docs/channels/list video thông số API Reference: https://developers.google.com/youtube/v3/docs/videos/list