第Ⅰ部分 准备篇——Google API概览 1
第1章 Google API简介 3
第2章 Google API的商业价值 9
第Ⅱ部分 出发篇——Google API站点基础类 13
第3章 数据交换利器——Google Data APIs 15
3.1 Google Data APIs简介 16
3.2 Google Data APIs基础 16
3.2.1 背景:Atom和RSS 16
3.2.2 关于数据API 16
3.2.3 使用数据API的好处 18
3.3 数据API基础实例 18
3.3.1 插入一个新的入口 19
3.3.2 查询一个字符串 19
3.3.3 更新一个入口的内容 20
3.3.4 删除一个入口 22
3.4 Google数据API文档格式和请求语法 23
3.4.1 文档格式 23
3.4.2 查询 25
3.4.3 资源修订(ETags) 31
3.4.4 认证 34
3.4.5 会话状态 35
3.5 小结 35
第4章 Google注册用户身份认证——Google Account Authentication API 37
4.1 Google账号授权服务概述 38
4.2 Google账户授权服务分类 38
4.3 Google账号服务原理及其使用实例解析 38
4.3.1 Google账号服务之“客户端”篇 38
4.3.2 Google账号服务之“Web”篇 42
4.4 小结 48
第5章 检测多国语言——Google AJAX Language API 49
5.1 Google AJAX Language API概述 50
5.2 Google AJAX Language API细节 50
5.2.1 支持的语言和翻译对 50
5.2.2 主要类库介绍 51
5.3 在Google AJAX Language API上的“Hello,World”程序 54
5.4 Google AJAX Language API使用方式 55
5.4.1 语言翻译(Language Translation) 55
5.4.2 语言检测(Language Detection) 55
5.4.3 翻译时源检测(Source Detection during Translation) 56
5.5 Google AJAX Language API开发示例 56
5.5.1 翻译 56
5.5.2 语言探测 58
5.6 其他常见问题及其解决方法 59
5.7 小结 59
第Ⅲ部分 扬帆篇——网站Google API应用工具类 61
第6章 运行自己的Web应用——Google App Engine 63
6.1 GAE简介 64
6.2 运行环境 64
6.3 Datastore 65
6.4 示例 65
6.5 小结 76
第7章 图表绘制工具——Google Chart API 79
7.1 Google Chart API概述 80
7.2 Google Chart API细节 80
7.2.1 Google Chart API限制条件 80
7.2.2 接口地址及其参数格式 80
7.2.3 必需参数和可选参数 81
7.2.4 其他有用参数 82
7.2.5 简单示例 83
7.3 Google Chart API开发示例 83
7.3.1 折线图 84
7.3.2 Sparkline图 85
7.3.3 条形图 85
7.3.4 饼图 87
7.3.5 维恩图 87
7.3.6 散点图 88
7.3.7 雷达图 89
7.3.8 地图 90
7.3.9 Google指数 93
7.4 实际项目示例 94
7.4.1 各大洲最高峰图片 94
7.4.2 展示技能饼图(Ruby版) 96
7.5 小结 96
第8章 日历工具,生活中不可缺的另一半——Google Calendar APIs and Tools 97
8.1 Google Calendar数据API 98
8.1.1 Google Data APIs协议 98
8.1.2 API版本 99
8.1.3 鉴权 99
8.1.4 请求、获取和修改数据 101
8.1.5 读取和管理日历列表 101
8.1.6 获取和管理日历活动 105
8.1.7 修改日历的共享设置 111
8.2 使用其他小助手 114
8.3 小结 114
第9章 电子表格——Google Spreadsheets API 115
9.1 Google Spreadsheets API概述 116
9.1.1 Google Spreadsheets的含义 116
9.1.2 Google Spreadsheets API开发环境准备 117
9.2 通过Google Spreadsheets API完成对电子表格的访问 119
9.2.1 Google Spreadsheets API的主要类型 119
9.2.2 Google Spreadsheets API的使用 120
9.3 Google Spreadsheets API开发示例 131
9.3.1 建立在线的Spreadsheet和Worksheet 132
9.3.2 情景示例分析 133
9.3.3 UI设计 134
9.3.4 功能分析、设计及实现 134
9.4 小结 140
第10章 iGoogle主题设计——iGoogle Themes API 141
10.1 iGoogle Themes API概述 142
10.2 创建主题的步骤 142
10.2.1 视觉设计 143
10.2.2 编写XML文档 146
10.2.3 开发、测试和提交 148
10.3 小结 149
第11章 小工具开发——Google Gadgets API 151
11.1 Google Gadgets API概述 152
11.2 创建第1个小工具 154
11.2.1 小工具整体结构 154
11.2.2 设置用户偏好(UserPref) 156
11.2.3 设置小工具高度 158
11.2.4 为小工具添加丰富的界面和功能 158
11.2.5 发布到iGoogle 166
11.2.6 小工具编写技巧 167
11.3 小结 168
第12章 数据可视化——Google Visualization API 169
12.1 Google Visualization API概述 170
12.1.1 Google Visualization简介 170
12.1.2 Google Visualization API简介 170
12.2 Google Visualization API使用方式 171
12.2.1 DataTable用法 171
12.2.2 Query用法 172
12.2.3 QueryResponse用法 172
12.2.4 Query Language 173
12.2.5 Events 173
12.2.6 使用Visualization Gadgets 174
12.2.7 开发自己的Visualization 174
12.3 Google Visualization API开发示例 174
12.3.1 使用Google Visualization API手动创建DataTable 174
12.3.2 使用Google Visualization API访问data source创建DataTable 177
12.4 小结 178
第13章 访问和使用Feed数据——Google AJAX Feed API 179
13.1 Google AJAX Feed API概述 180
13.2 Google AJAX Feed API的使用方法 180
13.2.1 Feed API的基本使用方法 180
13.2.2 Feed API的结果格式 181
13.2.3 Feed API的高级显示功能 184
13.2.4 找到Feed 185
13.3 小结 187
第14章 社会交友网络——OpenSocial 189
14.1 OpenSocial概述 190
14.2 OpenSocial开发简介 190
14.2.1 OpenSocial创建起步 190
14.2.2 访问个人基本信息及好友信息 191
14.2.3 操作用户活动信息 195
14.2.4 持久化应用自己的数据 198
14.2.5 权限控制 200
14.3 实现OpenSocial容器 203
14.4 小结 204
第15章 社会交友网络图谱——Google Social Graph API 205
15.1 Google Social Graph API概述 206
15.2 Google Social Graph API的使用方法 206
15.2.1 Lookup的使用方法 206
15.2.2 Otherme的使用方法 211
15.2.3 TestPares的使用方法 212
15.3 小结 213
第16章 Gmail联系人信息共享——Google Contacts Data API 215
16.1 Google Contacts Data API概述 216
16.2 Google Contacts Data API使用方法 216
16.2.1 联系人的查询方法 216
16.2.2 联系人的添加方法 220
16.2.3 联系人的修改 220
16.2.4 联系人的删除 222
16.3 小结 222
第17章 网络相册应用——Picasa Web Albums Data API 223
17.1 Picasa Web Albums Data API概述 224
17.2 Picasa Web Albums Data API使用方法 224
17.2.1 相册及照片的查询方法 224
17.2.2 相册及照片的添加方法 233
17.2.3 相册及照片的修改 235
17.2.4 相册及照片的删除 236
17.3 小结 236
第18章 集成YouTube视频——YouTube Data API 237
18.1 YouTube API和Mashup概述 238
18.1.1 Mashup内容嵌入 238
18.1.2 YouTube视频调用方式 238
18.2 YouTube API示例 239
18.2.1 YouTube的API使用示例 239
18.2.2 客户端调用YouTube视频信息 241
18.2.3 YouTube REST API Wrapper的调用命令 242
18.2.4 通过YouTube REST API Wrapper搜索YouTube视频 243
18.3 小结 244
第19章 整合Blogger博客服务——Blogger Data API 245
19.1 Blogger Data API概述 246
19.2 Blogger Data API开发示例 246
19.2.1 准备一个Blogger账号 246
19.2.2 用户授权 247
19.2.3 使用Blogger API 248
19.3 小结 251
第20章 整合FeedBurner阅读器——FeedBurner API 253
20.1 FeedBurner API概述 254
20.2 FeedBurner开发示例 254
20.2.1 Awareness API使用过程 254
20.2.2 MgmAPI的使用方法 261
20.3 小结 268
第Ⅳ部分 航海篇——Google API应用开发与电子商务类 269
第21章 移动平台——Android应用开发 271
21.1 Android概述 272
21.1.1 Android的意义 272
21.1.2 Android架构概述 272
21.1.3 Android应用程序构成 274
21.1.4 Android应用程序生命周期 276
21.2 Android应用程序架构 277
21.2.1 内容提供者 277
21.2.2 使用数据提供者存取数据 278
21.2.3 创建一个数据提供者 281
21.2.4 资源 282
21.2.5 通知管理者 287
21.2.6 活动 287
21.3 小结 292
第22章 即时消息传递协议——Google Talk XMPP 293
22.1 Google Talk API概述 294
22.1.1 Google Talk简介 294
22.1.2 Google Talk API概述 294
22.2 Google Talk API使用方法 295
22.2.1 Google Talk通信协议 295
22.2.2 libjingle 296
22.2.3 Google Talk Gadget 296
22.3 Google Talk API开发示例 297
22.3.1 相关概念解释 297
22.3.2 实现方法 299
22.3.3 结合“技能云”演示 302
22.3.4 可能出现的问题 305
22.4 小结 307
第23章 数据格式定义利器——Google Protocol Buffer API 309
23.1 Google Protocol Buffer API概述 310
23.1.1 什么是Google Protocol Buffer 310
23.1.2 Google Protocol Buffer API背景 310
23.1.3 Google Protocol Buffer API简介 310
23.1.4 为什么不使用XML 312
23.2 Google Protocol Buffer API的使用方法 313
23.2.1 定义消息类型 313
23.2.2 使用的数据类型 314
23.2.3 可选域和默认值 315
23.2.4 枚举类型 315
23.2.5 使用其他消息 316
23.2.6 嵌入类型 317
23.2.7 消息的更新 317
23.2.8 消息的扩展 318
23.2.9 消息的打包 320
23.2.10 服务的定义 320
23.2.11 其他选项 322
23.2.12 将.proto文件生成类 323
23.3 Google Protocol Buffer API开发示例 324
23.3.1 定义Protocol文件 324
23.3.2 编译Protocol文件 326
23.3.3 Protocol Buffer API 326
23.3.4 写消息 329
23.3.5 读消息 331
23.3.6 扩展Protocol Buffer 332
23.3.7 优化速度 332
23.3.8 高级应用 333
23.4 小结 333
第24章 为网站丰富AJAX内容——Google AJAX Libraries API 335
24.1 Google AJAX Libraries API概述 336
24.2 Google AJAX Libraries API使用方式 336
24.2.1 使用google.load() 336
24.2.2 加载特定版本 337
24.2.3 调用各开源JavaScript库 337
24.3 Google AJAX Libraries API开发示例 339
24.4 小结 340
第25章 用户广告管理——Google Adwords API 341
25.1 Google Adwords概述 342
25.2 Google Adwords API 343
25.2.1 Google Adwords API简介 343
25.2.2 Google Adwords API的适用范围 343
25.2.3 Google Adwords API的服务 344
25.3 Google Adwords API示例 344
25.3.1 支持多语言的Client 345
25.3.2 soap4r和google-adwords-api-ruby 345
25.3.3 Starter Kits简介 349
第26章 网络广告整合——Google AdSense API 351
26.1 Google AdSense API概述 352
26.1.1 AdSense简介 352
26.1.2 Google AdSense API简介 352
26.1.3 奖励机制 352
26.1.4 申请要求 353
26.1.5 开发原理 353
26.2 创建一个AdSense管理系统 354
26.2.1 申请沙箱 354
26.2.2 获得开发者网站信息 355
26.2.3 创建AdSense账户 356
26.2.4 关联AdSense账户 358
26.3 小结 359
第27章 在线付款机制——Google Checkout API 361
27.1 Google Checkout概述 362
27.1.1 Google Checkout简介 362
27.1.2 Google Checkout的用户流程 362
27.1.3 Google Checkout业务流程 364
27.2 增加Google Checkout支持 365
27.2.1 申请Google Checkout商业用户账户 365
27.2.2 为页面添加Google Checkout按钮 365
27.2.3 在订单页面中加入HTML代码 367
27.3 使用Google Checkout商户中心管理订单 368
27.4 小结 368
第V部分 开拓篇——Google API搜索、地图服务及桌面应用类 369
第28章 图书搜索——Google Book Search Book Viewability API 371
28.1 Google Book Search Book Viewability API概述 372
28.2 使用方法 372
28.2.1 基础知识 372
28.2.2 静态链接方法 373
28.2.3 动态链接方法 374
28.3 开发示例 375
28.4 常见问题 377
28.5 小结 378
第29章 嵌入Google搜索——Google AJAX Search API 379
29.1 Google AJAX Search API概述 380
29.1.1 调用和初始化 380
29.1.2 加载 382
29.1.3 初始化搜索控件 383
29.2 搜索内容 384
29.2.1 不同的搜索器 384
29.2.2 在搜索中设定站点限制 385
29.2.3 设定其他搜索限制 386
29.2.4 返回的数据 387
29.3 定制界面 390
29.3.1 修改绘制模式 390
29.3.2 将搜索表单和搜索结果分开 391
29.3.3 修改搜索器的显示选项 391
29.3.4 完全自定义搜索结果的样式 392
29.4 让用户不仅仅看搜索结果 393
29.5 RESTful风格界面 394
29.5.1 调用API 395
29.5.2 返回结果的格式 397
29.6 不要逾越红线 399
29.7 其他资源 399
29.8 小结 399
第30章 地图服务——Google Maps API 401
30.1 Google Maps API概述 402
30.1.1 Google Maps地图服务 402
30.1.2 Google Maps影像图层组织方式 403
30.1.3 Maps API调用概述 405
30.1.4 通过API Key调用Google Maps地图数据 406
30.2 Google Maps API使用方式 406
30.2.1 GMap2对象和基本方法 406
30.2.2 常用地图操作方法 409
30.2.3 为用户事件添加响应处理 411
30.2.4 地理译码实现地名与经纬度转换 413
30.2.5 Google Maps与用户数据库交互 417
30.3 通过开源工具拓展Google Maps 424
30.3.1 使用OpenLayers定义专用的地图浏览界面 424
30.3.2 OpenLayers中使用Google数据 426
30.3.3 为应用加入其他地理数据源 432
30.4 小结 437
第31章 地图信息服务工具集——Google Mapplets 439
31.1 Google Mapplets概述 440
31.2 Google Mapplets使用方式 441
31.2.1 Mapplets开发基本设置 441
31.2.2 Mapplets代码基本格式 442
31.2.3 Mapplets发布与共享 444
31.3 Google Mapplets与Twitter的集成示例 446
31.4 小结 449
第32章 地理标记语言——KML 451
32.1 KML概述 452
32.1.1 什么是KML 452
32.1.2 KML功能 453
32.2 KML语法格式 455
32.2.1 KML使用 455
32.2.2 KML常用标签 458
32.2.3 KML几何图形定义 461
32.3 KML在Google Earth上展示实例 461
32.4 小结 463
第33章 静态地图服务——Google Static Maps API 465
33.1 Google Static Maps API概述 466
33.2 Google Static Maps API语法格式 467
33.2.1 Google Static Maps API常用参数 467
33.2.2 Google Static Maps API的支持服务 468
33.3 Google Static Maps API示例 472
33.3.1 开发环境简介 472
33.3.2 定制静态地图应用 477
33.4 小结 482
第34章 编写桌面小工具——Google Desktop Gadget API 483
34.1 Google桌面小工具API概述 484
34.1.1 什么是Google桌面小工具 484
34.1.2 Google桌面小工具的构成 484
34.1.3 怎样安装和运行Google桌面小工具 485
34.2 Google桌面小工具示例 487
34.2.1 准备工作 487
34.2.2 Hello World! 487
34.2.3 修改Hello World! 489
34.2.4 更新gadget.gmainfest文件 490
34.2.5 本地化 491
34.2.6 打包 492
34.3 Google桌面小工具文件格式详解 492
34.3.1 gadget.gmanifest文件 492
34.3.2 en/strings.xml字符串定义文件与本地化 495
34.3.3 main.xml主界面描述文件 496
34.3.4 options.xml选项界面描述文件 497
34.4 Google桌面小工具对象详解 498
34.4.1 概览 498
34.4.2 gadget对象 498
34.4.3 view对象 498
34.4.4 basicElement和界面元素对象 499
34.4.5 elements对象 499
34.4.6 event对象及事件处理 500
34.4.7 options对象 501
34.4.8 framework名字空间 501
34.4.9 plugin对象 502
34.4.10 小工具可以使用的其他JavaScript对象和API 502
34.5 小结 502
第35章 让应用支持桌面搜索——Google Desktop Search API 503
35.1 Google Desktop Search API概述 504
35.1.1 Google桌面简介 504
35.1.2 Google桌面API 504
35.1.3 API功能分类 504
35.1.4 查询API的编程语言和使用范围 505
35.1.5 查询API的使用步骤 505
35.1.6 安装开发环境 505
35.2 查询API的JavaScript示例 506
35.2.1 注册 506
35.2.2 查询并处理返回的结果 509
35.2.3 取消注册 511
35.3 查询API的HTTP/XML示例 512
35.3.1 获取带有令牌的查询链接 512
35.3.2 准备查询链接 513
35.3.3 处理查询结果 514
35.4 小结 515
第36章 与在线文档互操作——Google Document List API 517
36.1 Google Document List API概述 518
36.1.1 Google Document简介 518
36.1.2 Google Document List API简介 518
36.2 Google Document List API使用方法 519
36.2.1 Document List Feed 519
36.2.2 Document List查询参数参考 520
36.3 Google Document List API开发示例 520
36.3.1 用户验证 521
36.3.2 获取文件列表 522
36.3.3 上传文件 523
36.3.4 更新文件 525
36.3.5 创建文件夹 526
36.3.6 删除文件和文件夹 526
36.3.7 搜索文件 527
36.3.8 获取指定文件夹内的文件列表 528
36.3.9 移动文件和文件夹 530
36.3.10 高级应用 530
36.4 小结 530
第37章 浏览器扩展——Google Gears 531
37.1 Google Gears概述 532
37.2 Google Gears使用方法 532
37.2.1 须要使用到的数据层 532
37.2.2 应用的功能 534
37.2.3 应用的模式 534
37.2.4 数据同步 535
37.3 Google Gears API开发示例 537
37.3.1 前提 537
37.3.2 编辑manifest文件 537
37.3.3 增加用户界面 538
37.3.4 将文件上传到HTTP服务器 539
37.3.5 测试:获取需要的文件 539
37.3.6 测试:访问已存文件 539
37.3.7 维护manifest 文件 540
37.4 小结 540
第38章 在线您的笔记——Google Notebook Data API 541
38.1 Google Notebook Data API概述 542
38.1.1 Google笔记本简介 542
38.1.2 Google Notebook Data API简介 542
38.2 Google Notebook Data API使用方法 542
38.2.1 Google笔记本feed类型 543
38.2.2 Google笔记本查询参数参考 543
38.3 Google Notebook Data API发示例 544
38.3.1 获取用户ID 544
38.3.2 获取用户所有公开的笔记本列表 544
38.3.3 获取指定笔记本的feed 545
38.3.4 进行搜索 546
38.4 小结 546
第39章 其他API 547
39.1 工具栏定制——Google Toolbar API 548
39.1.1 Google Toolbar API概述 548
39.1.2 Google Toolbar API开发示例 548
39.2 构造精美3D视图——Google SketchUp Ruby API 550
39.2.1 SketchUp Ruby API概述 550
39.2.2 SketchUp Ruby API使用方法 551
39.2.3 Sketch Ruby API开发示例 551
39.3 搜索我们需要的代码段——Google Code Search Data API 553
39.3.1 Google Code Search Data API细节 553
39.3.2 Google Code Search Data API开发示例 554
附录A 本书源代码使用说明 557
附录B Google在线资源 561
索引 563