如何从 Swift 连接到 Gmail REST API
How to connect to Gmail REST API from Swift
全部,
我打算从我正在使用 Swift 开发的移动应用程序连接到 GMAIL REST API。所以在应用程序中,我想从用户那里获取收件箱和发送的项目并将其发送以供进一步分析。但是当我探索连接到 GMail Rest API 的选项时,我只看到以下选项可用。
Java | PHP | .Net | Python
所以想知道我们是否仍然可以直接连接到 GMail Rest API?
如果它是 REST API,您只需向它发出 HTTP 请求即可取回数据。 https://developers.google.com/gmail/api/v1/reference/ 是您的 HTTP 请求需要定位的 URI 列表。例如,对 Swift 中此类端点的 GET 请求看起来像:
let url = NSURL(string: " https://www.googleapis.com/gmail/v1/users/{userId}/drafts")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!){
(data, response, error) in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
会收到用户收件箱中的所有草稿。这将在数据变量中,您将在 dataTaskWithURL 方法的完成块中对其进行解析。您当然需要将 {userId} 替换为有效的 userId。 REST 只是使用 HTTP 方法(GET PUT POST DELETE)对资源进行操作的标准。我建议阅读 Swift 中的 REST 和 HTTP 方法。至于它是为了 Java | PHP | Python | .NET,这可能只是意味着他们为这些语言包装了 REST API 以使其更容易使用。您仍然可以通过任何支持 HTTP 请求的语言使用它。
我提供的示例仅针对 GET 请求。其他类型的请求将有不同的结构,因为您需要提供带有参数的 body。您可能还需要提供带有 content-type 的 header,但对 gmail API 有更多经验的人可能会告诉您这一点。
全部,
我打算从我正在使用 Swift 开发的移动应用程序连接到 GMAIL REST API。所以在应用程序中,我想从用户那里获取收件箱和发送的项目并将其发送以供进一步分析。但是当我探索连接到 GMail Rest API 的选项时,我只看到以下选项可用。 Java | PHP | .Net | Python
所以想知道我们是否仍然可以直接连接到 GMail Rest API?
如果它是 REST API,您只需向它发出 HTTP 请求即可取回数据。 https://developers.google.com/gmail/api/v1/reference/ 是您的 HTTP 请求需要定位的 URI 列表。例如,对 Swift 中此类端点的 GET 请求看起来像:
let url = NSURL(string: " https://www.googleapis.com/gmail/v1/users/{userId}/drafts")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!){
(data, response, error) in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
会收到用户收件箱中的所有草稿。这将在数据变量中,您将在 dataTaskWithURL 方法的完成块中对其进行解析。您当然需要将 {userId} 替换为有效的 userId。 REST 只是使用 HTTP 方法(GET PUT POST DELETE)对资源进行操作的标准。我建议阅读 Swift 中的 REST 和 HTTP 方法。至于它是为了 Java | PHP | Python | .NET,这可能只是意味着他们为这些语言包装了 REST API 以使其更容易使用。您仍然可以通过任何支持 HTTP 请求的语言使用它。
我提供的示例仅针对 GET 请求。其他类型的请求将有不同的结构,因为您需要提供带有参数的 body。您可能还需要提供带有 content-type 的 header,但对 gmail API 有更多经验的人可能会告诉您这一点。