iOS App 和 youtube 客户端

标签 ios objective-c google-app-engine youtube youtube-api

前段时间我搜索了有关将youtube 集成到ios 应用程序中的信息。 现在我需要再次这样做,所以我开始在谷歌上寻找信息。 片刻之后就已经糊涂了。 我可以用这个吗 iOS youtube sample

或者让我使用 YouTube Data API (v3) ? 和 this

最佳答案

简答:

  1. API 是指用于使用 Google 功能的 HTTP 接口(interface)。
  2. 可以通过直接发出 HTTP 请求来使用这些 API,根据 API 规范,或使用客户端库之一。客户端库是 HTTP 之上的一层,它发出 HTTP 请求并解析响应。它们为调用 API 提供了一个更简单的接口(interface)(例如,使用给定编程语言中的标准函数调用而不是构建 HTTP 请求),并且它们还简化了许多复杂的部分,例如身份验证、刷新 token 等。

长答案:

应用程序编程接口(interface)或 API 是某些功能的提供者和某些功能的使用者之间的“契约”,它允许该功能的提供者和使用者在不知道对方的底层实现的情况下进行互操作。该“契约(Contract)”包括诸如输入的数量和类型、输入的名称(如果需要调用功能)、对输入的任何约束、预期输出、对输出的任何约束、故障模式等内容等

Google 提供了许多基于 HTTP 的 API,用于访问其服务的功能。它的服务<​​em>实现这些 API,它们通过发出 HTTP 请求和读取 HTTP 响应来使用。 HTTP 是一种易于实现的协议(protocol),因为每种设备和语言都可以使用 HTTP;但是,作为开发人员使用它并不总是最方便的。在许多情况下,您想要的输入和输出是对象,而不是 HTTP 请求和 HTTP 响应。而且,在许多情况下,用您选择的语言匹配函数签名和输入类型检查比记住 HTTP 请求路径或手动将对象序列化/反序列化为 HTTP 请求或请求中发送的内容更方便。这就是客户端库的用武之地。虽然 HTTP API 是在 Google 的服务器上实现的,但客户端库是开发人员包含在其应用程序中并分发到运行这些应用程序的设备的库。客户端库发出 HTTP 请求并解释响应,并为各种不同的编程语言提供更方便的特定于编程语言的包装器。

data API link您提供的是记录基于 HTTP 的 API。而 sample application正在使用客户端库(在后台调用基于 HTTP 的 API)。您提供的最后一个链接,cloud endpoints for iOS与您正在尝试做的事情无关;它记录了一种称为 Cloud Endpoints 的机制,这是 App Engine 的一项功能,它允许开发人员使用 Google 的基础架构创建自己的 HTTP API,并自动生成包装这些 HTTP API 的客户端库(很像 Google 为它自己的 HTTP API)。

关于iOS App 和 youtube 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23424438/

相关文章:

ios - 如何编辑核心数据值然后保存上下文以覆盖旧值?

ios - 将 header 放入 pch 文件中有什么区别?

iphone - 一个 iPhone 客户端,多个 IP 地址?

ios - 从 Xib 加载的自定义 UIView

objective-c - 在子类的子类中实现 NSCopying

ios - 搜索 UITableView 单元格时忽略特殊字符的 UISearchBar

ios - 即使在 ios 中进行导航时分配后数据也为零, objective-c

php - 调用 URLFetch 失败,出现 url x 的应用程序错误 5

python - 重试 python App Engine 管道

jquery - 如何从 google app engine 返回一个值给 jquery?