通过 Oauth2.0 向 Google Latitude API 发送用户新位置
Posted
技术标签:
【中文标题】通过 Oauth2.0 向 Google Latitude API 发送用户新位置【英文标题】:Send users new location to Google Latitude API via Oauth2.0 【发布时间】:2012-12-15 00:25:00 【问题描述】:我目前正在开发一个请求 GPS 位置更新的应用。我已经成功实现了它以及 latitude API 和 OAuth 2.0。似乎纬度 API 只读取用户上次谷歌纬度更新。我不知道如何在 latitude API 中插入新的更新。
一个例子是https://play.google.com/store/apps/details?id=gaugler.backitude&hl=en 他们能够将新的 gps 更新直接插入到谷歌纬度。
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:这可以通过当前位置 insert() API 调用来完成:
https://developers.google.com/latitude/v1/currentLocation/insert
【讨论】:
【参考方案2】:使用oauth playground 将以下内容发布到您询问的 api 中
IMO 在 data,您真正需要的只是纬度、经度。你必须检查一下。
POST /latitude/v1/location HTTP/1.1
主机:www.googleapis.com 内容长度:244 内容类型: 应用程序/json 授权:OAuth ya29.AHES6ZTbG5HRDWduqeV60o_GWYagNg1BEk4c89V5ocSh0W2yc6FRYg "data":"kind": "latitude#location", "timestampMs": "1355601946", “纬度”:“22”,“经度”:“22”,“准确度”:“40”,“速度”: “10”,“航向”:“180”,“高度”:“42”,“高度准确度”: "50", "activityId": "xyzzzzzzz"
HTTP/1.1 200 OK 内容长度:
158 通过:HTTP/1.1 GWA X-content-type-options:nosniff Etag: “0UQtEv4nUExaO_EaPNLUB8rXY8M/mI3wNTFvwTjtI9TlZ9A9neseLn0” X-google-cache-control:远程获取 -content-encoding: gzip 服务器: GSE 原因: OK X-xss-protection: 1; mode=block Pragma: no-cache 缓存控制: no-cache, no-store, max-age=0,必须重新验证日期:2012 年 12 月 15 日星期六 20:32:11 GMT X-frame-options: SAMEORIGIN 内容类型: application/json; charset=UTF-8 过期时间:1990 年 1 月 1 日星期五 00:00:00 GMT "data":"kind":"latitude#location","timestampMs":"1355601946","latitude":22.0,"longitude":22.0,"accuracy":40,"speed":10,"altitude ":42,"altitudeAccuracy":50
对于针对这些 api 的开发人员,您应该考虑两件事:
在您的堆栈上进行调试将要求您检查 HTTP HEADERS、HTTP WIRE 所以,查找它们并弄清楚如何显示
使用“oauth playground”来模拟您的应用将发布的内容。简而言之,如果它在 Playground 中与 CURL 客户端结合使用,您将确切地知道在您的应用程序中要做什么。
【讨论】:
以上是关于通过 Oauth2.0 向 Google Latitude API 发送用户新位置的主要内容,如果未能解决你的问题,请参考以下文章
通过 OAuth 2.0 和私钥(即服务帐户)访问 Google Contacts Api
如何使用 Twisted 通过 OAuth2.0 身份验证检查 Gmail
oauth2.0授予Web应用访问用户的Google spreadhseets所需的最小范围是多少?