2015-05-01 27 views
12

Tôi đã tìm kiếm trên web để biết hướng dẫn và hướng dẫn nhưng không thể tìm thấy bất kỳ thứ gì ... Vì vậy, tôi hy vọng có thể ai đó ở đây có thể chỉ cho tôi đúng hướng hoặc chỉ liên kết một số hướng dẫn hay. (Bằng cách này, tôi sẵn sàng tạo một ứng dụng khách YouTube cơ bản cho phép người dùng tìm kiếm video và xem chúng ... không có gì quá lạ mắt).Cách sử dụng API YouTube cho ứng dụng iOS?

Cảm ơn trước!

+1

thể trùng lặp của [iOS App và youtube khách hàng] (http://stackoverflow.com/questions/23424438/ios -app-and-youtube-client) – Yuyutsu

Trả lời

15

Oh bạn thân .... hoan nghênh chào đón đến với thế giới của phân tích file JSON và đưa lên với các API nặng ghi nhận :)

Vâng, tôi đã nhìn vào này một vài tháng trước đây và tôi quản lý để có được nó làm việc. Dưới đây là những điều bạn phải làm:

Bước 1 - OAuth 2.0 Tích hợp

ứng dụng của bạn sẽ cho phép người dùng đăng nhập vào YouTube để họ có thể bình luận/như/etc ... video? Nếu có, thì bạn sẽ cần phải yêu cầu người dùng đăng nhập vào API YouTube thông qua ứng dụng của bạn trước khi họ có thể thực hiện những việc này. Để làm điều đó, ứng dụng của bạn sẽ cần phải sử dụng OAuth 2.0 để giao tiếp với API YouTube. Dưới đây là một thư viện tuyệt vời mà bạn có thể sử dụng để xác thực với các API YouTube thông qua OAuth 2.0: https://github.com/BHughes3388/BAHYouTubeOAuth

Bước 2 - Keychain - Truy cập Mã lưu trữ

Nếu bạn là người mới đến xác thực OAuth, sau đó nó có thể được daunting lúc đầu, nhưng một khi bạn chơi xung quanh với nó và làm quen với nó, bạn sẽ nhận ra rằng nó rất dễ dàng để làm việc với.

Tổng thể, cách hoạt động, là ứng dụng của bạn liên hệ với API (trong trường hợp này là API YouTube V3) và yêu cầu trang web. Trang web cho phép người dùng đăng nhập vào APi và cấp quyền truy cập ứng dụng của bạn. Khi điều này đã được thực hiện, API sẽ gửi ứng dụng của bạn là "mã thông báo truy cập". Mã thông báo này sẽ cần được sử dụng trong tất cả (hoặc hầu hết) các yêu cầu API của bạn (tùy thuộc vào loại yêu cầu).

Khi bạn đã nhận được "mã thông báo truy cập", khi đó bạn sẽ cần lưu trữ nó một cách an toàn. Về cơ bản nó là một mật khẩu, vì vậy bạn cần giữ nó an toàn. Làm không làm những gì một số người làm, đó là sử dụng NSUserDefaults, đó là không an toàn ở tất cả. Thay vào đó, bạn sẽ cần phải sử dụng Keychain. Đây là thư viện lưu trữ/mã hóa an toàn của Apple, có thể dễ dàng được sử dụng để lưu các chuỗi bảo mật như mật khẩu.

Để sử dụng Keychain để lưu trữ an toàn và lấy lại "thẻ truy cập" khi bạn cần đến nó, hãy nhìn vào SO bài này, nó lớn: How to use Keychain for saving password like GenericKeychain sample code

Bước 3 - YouTube API V3-https://developers.google.com/youtube/v3/

Ngay bây giờ, bit khó hơn. Bạn cần phải đọc qua API Google API V3 và xem qua các tài liệu tham chiếu API để tìm các URL cụ thể sẽ trả lại dữ liệu bạn đang tìm kiếm. Ví dụ: nếu bạn muốn có được một danh sách các video từ thức ăn quê hương của một người dùng hoặc từ một tìm kiếm đơn giản, sau đó hãy xem tại trang tài liệu tham khảo API này: https://developers.google.com/youtube/v3/docs/videos/list

Bước 4 - Giải nén URL video

Trước khi tôi nói thêm về bước này, tôi nên đề cập rằng Google cho biết bạn nên trình bày video trong chế độ xem web đơn giản với mã HTML của YouTube chỉ đơn giản là nhúng lượt xem video vào ứng dụng của bạn.Nhưng theo ý kiến ​​của tôi (và nhiều nhà phát triển khác), điều này có vẻ và hoạt động khủng khiếp ....

Vì vậy, nếu bạn muốn hiển thị video trên YouTube trong ứng dụng của mình qua MPMovieplayerController, thì trước tiên bạn cần trích xuất URL video trước khi bạn có thể làm điều này.

Khi bạn yêu cầu API YouTube cho một bộ video, bạn sẽ nhận lại tệp JSON, tệp này chứa danh sách video (videoID, tiêu đề, ngày, v.v.) .

Bạn sẽ cần phải phân tích cú pháp tệp JSON cho ID video. Sau khi bạn hoặc người dùng ứng dụng đã chọn video mà họ muốn, bạn sẽ cần sử dụng sau đó chuyển ID video cho video cụ thể đó vào thư viện "Trình giải nén liên kết video YouTube". Thư viện này sau đó sẽ trả lại một tập hợp các liên kết tệp video cho video đó. Các liên kết này có thể được sử dụng kết hợp với MPMovieplayerController để hiển thị video gốc.

Đây là một tập tin video url YouTube extracter tuyệt vời - https://github.com/runmad/RMYouTubeExtractor

Chúc may mắn :)

+3

Wow ... cảm ơn bạn! Điều này giống như câu trả lời hoàn hảo tôi cần. :) –

+1

Điều này vi phạm Điều khoản dịch vụ của YouTube. Cách duy nhất để phát video YouTube trong ứng dụng iOS mà không vi phạm bất kỳ TOS nào là thông qua YTPlayerView của YouTube: https://github.com/youtube/youtube-ios-player-helper – JAL

+0

@ BalázsVincze Bạn được chào đón nhiều nhất :) –

Các vấn đề liên quan