来自: 谷奥——探寻谷歌的奥秘 – FeedzShare  

发布时间:2010年07月21日,  已有 5 人推荐


google-latitude-renren-status

感谢 @LucienLu 的投递和自爆。

非常奇怪人人网明知地理信息的重要价值,仍然没有从浏览器获取用户 geo 信息。geo 很有趣,于是自己先实现了用 GAE 将 Latitude 同步到 renren。

        感谢这位同学用 GAE 同步 twitter 到人人网状态的方法,很有用,让我没发几条垃圾状态。

需求:

  1. 手机安装 Google 地图并且开通谷歌纵横
  2. 申请一个 GAE 账户并安装 python 和 GAE 开发包,可以看 Google 官方的文档。然后创建一个 GAE 应用,我的是 latitude2renren
  3. 注册你的 GAE 应用,点击 Manage Your Domains 链接,注册的目的是获得 consumer key 和 consumer secret。

      在GAE开发包安装目录下新建一个文件夹,比如我的

X:Program FilesGooglegoogle_appenginelatitude2renren

        创建以下文件:

app.yaml

application: 你的app应用名字
version: 1
runtime: python
api_version: 1

handlers:
– url: /OAuth/.*
  script: OAuth/OAuthHandle.py
  secure: optional
  login: admin

cron.yaml

cron:
– description: sync
  url: /OAuth/FetchContent
  schedule: every 5 minutes

oauth.py Python 的 OAuth 库。这个文件直接从 OAuth 的官方代码弄的。

建立文件夹 OAuth,加入文件 OAuthHandle.py (下载)。

        打开这个文件,对前面的 setting area 进行修改,修改 OAuthConsumerKey,OAuthConsumerSecret,renren_usr,renren_passwd。然后搜索 latitude2renren,替换成你的appid。其他不需要改。

        还有一些其他特性可以在这里实现:

  1. 默认每5分钟检查一次位置,可以修改 cron.yaml
  2. 精度可以调节为最佳或者城市,OAuthHandle.py 修改 line 42 和 line 334,把 best 改成 city,但修改成 city 后同步的地标信息有误,建议自行修改 line 199 的正则规则
  3. 默认在人人网两次发状态的间隔大于8000000 millisecond,也就是两个多小时,修改 line368
    经纬度变化之和大于0.05度(回忆一下中学知识,纬度每变化1度大约是110公里)是更新的必要条件,修改line 367

        然后在X:Program FilesGooglegoogle_appengine目录下运行

appcfy.py update ./你的文件夹

        上传GAE。

        最后一步是通过 OAuth 授权你的应用获得你的 Latitude 信息,访问 https://你的appid.appspot.com/OAuth/GetRequestToken,按提示操作即可。

        同步的效果是在条件满足时(默认为上次同步发生在8000秒前,经纬度变化之和超过0.05),五分钟之内更新一条人人网状态:I’m at 中国xxxxxx. http://maps.google.com/maps?ll=经度,纬度&z=12&t=m (Auto Sync from Google)

        我这里代码很省,比如 JSON 解析用的是正则;由于 Google Maps API Web Services 即将于本月推出,坐标转中文地标用的是 http://maps.google.com/maps?output=js&hl=zh-CN&oe=UTF-8&q=纬度+经度 这样的Google非正式API(更新,已经使用官方 The Google Geocoding API,有效解决部分地区无法找到地标的问题。原API的第三方文档见 mapki.com)。

原文地址:

http://www.lostriver.net/google-latitude-to-renren/


© gkp 发表于 谷奥——探寻谷歌的奥秘 ( http://www.google.org.cn ), 2010. |
没有评论 |
永久链接 |
关于谷奥 |
投稿/爆料
Post tags: , , , , ,
欢迎订阅谷安子站,关注Android新闻,技巧及更多

请看原文:
使用 GAE 将 Google Latitude 地理位置同步到人人网