原文链接:http://hi.baidu.com/shirdrn/blog/item/9c144dfc1607e984b901a02d.html

刚开始研究Google的OpenSocial,发现还要从Google Gadget(即:Google小工具)学起来,有点无从下手。

首先在Google创建一个个人账户,已经有了可以直接登录,然后才能使用GGE来编辑托管文件,然后可以在自己的iGoogle上测试自己编写的小工具。

登录你的账号,然后打开链接http://code.google.com/intl/zh-CN/apis/gadgets/docs/tools.html,可以看到GGE编辑器。第一次进入,会看到自带的麽个默认的Hello World的例子,如图所示:

如果保存这个默认的helloworld.xml,直接进行发布,会出错的,如图所示:

一些验证的警告,可能,即使你点击OK也不会成功地忽略这些警告,所以,需要添加上警告中提示的一些属性的设置。

下面,是我创建的一个简单的Google小工具命名为welcomeToMyBaiduSpace.xml,如图:

我修改一下,如下所示:

<?xml version="1.0" encoding="UTF-8" ?>

<Module>

<ModulePrefs title="欢迎访问我的百度空间:-)"

width = "320"

height = "200"

author = "shirdrn"

author_email = "shirdrn@hotmail.com"

description = "Shirdrn's first Google Gadget">

<Require feature="opensocial-0.7" />

</ModulePrefs>

<Content type="html">

<![CDATA[

Hello,欢迎访问我的百度空间 http://hi.baidu.com/shirdrn

]]>

</Content>

</Module>

修改完成以后,选择左上角的“File”下的"Save"或者“Save As”保存即可。

我在其中输入中文字符了,可以看到,它会自动将中文转换为Unicode码。

OK,上面这个最简单的一个Google小工具就完成了。

然后,将自己编写Google小工具发布到自己的iGoogle上测试一下效果。

选择“File”下的“Publish”,会弹出一个验证警告对话框,如下所示:

单击“OK”即可,忽略这个警告,接着弹出对话框,如图所示:

这时,就要根据需要进行选择了。如果是这样的简单测试,选择“Add to my iGoogle page”发布到自己的iGoogle主页上即可,如果是一个具有复杂交互功能、比较成功的Google小工具,可以选择“Publish t0 iGoogle Directory”发布到iGoogle目录中供大家分享你的Google小工具,另外可以选择“Add to a webpage”发布到一个页面上。

我选择“Add to my iGoogle page”,这时会弹出一个确认添加到你的iGoogle上的提示页面,如图所示:

选择蓝色按钮“Add to Google”,添加到自己的iGoogle上,页面转向自己的iGoogle,你会看到多了下面一个Tab页:

OK,第一个Google小工具就开发测试完成了。下面,直接引用Google Gadget API参考,来简单说明一上上面XML代码的结构及其含义:

XML 文件中的 <ModulePrefs> 部分指定了小工具的特征,如标题、作者、首选大小等等。例如:

<Module>  <ModulePrefs title="Developer Forum" title_url="http://groups.google.com/group/Google-Gadgets-API"     height="200" author="Jane Smith" author_email="xxx@google.com"/>   <Content ...>   ... content ...  </Content> </Module>

小工具的用户不能更改这些属性。

下表列出了 <ModulePrefs> 属性:

属性 说明
title 提供小工具标题的可选字符串。该标题显示在 iGoogle 的小工具标题栏中。如果该字符串包含用户使用偏好替换变量,并且您打算将小工具提交至 iGoogle 内容目录,您还应提供 directory_title 以用于目录显示。
directory_title 提供应对 iGoogle 内容目录中的小工具显示标题的可选字符串。应仅包含要显示的文字文本,而不包含用户使用偏好替换变量。这是因为 iGoogle 内容目录显示小工具的静态视图,所以不能进行必要的替换以生成合理的标题。例如,如果小工具的标题是“Friends for __UP_name__”,则目录不能执行替换以为“ __UP_name__”提供合理的值。所以您仅将directory_title设置为“朋友”即可。
title_url 提供小工具标题链接至的网址的可选字符串。例如,您可以将标题链接至与小工具相关的网页。
description 描述小工具的可选字符串。
author 列出小工具作者的可选字符串。
author_email 提供小工具作者的电子邮件地址的可选字符串。您可以使用任何电子邮件系统,但是鉴于会收到大量垃圾邮件,因此不应使用个人电子邮件地址。一种方法是在小工具规范中使用 helensmith.feedback+coolgadget@gmail.com 形式的电子邮件地址。

Gmail 会省略加号 (+) 后的所有内容,所以该电子邮件地址可解释为 helensmith.feedback@gmail.com

您可以在此处创建 Gmail 帐户。

author_affiliation 表示作者所属机构的可选字符串(如“Google”)。该属性对于包含在 iGoogle 内容目录中的小工具来说是必需的。
author_location 作者的地理位置,例如“美国加利福尼亚州山景城”。
screenshot 给出小工具屏幕截图的网址的可选字符串。该图片必须位于不能被 robots.txt 拦截的公共网站上。PNG 是首选格式,GIF 和 JPG 也可接受。小工具屏幕截图的宽度应为 280 像素。屏幕截图的高度应为使用小工具时的“正常”高度。有关屏幕截图指导方针的更多讨论内容,请参阅“发布至 iGoogle 内容目录”。
thumbnail 给出小工具缩略图的网址的可选字符串。该图片必须位于不能被 robots.txt 拦截的公共网站上。PNG 是首选格式,GIF 和 JPG 也可接受。小工具缩略图应为 120x60 像素。有关缩略图指导方针的更多讨论内容,请参阅“发布至 iGoogle 内容目录”。
height 指定小工具运行所在区域的高度的可选正整数。默认高度为 200。
width 指定小工具运行所在区域的宽度的可选正整数。默认宽度为 320。
scaling 指定在调整浏览器大小时是否保持小工具纵横比(高宽比)的可选布尔值。可自动纵向伸缩的小工具应将该属性设置为 True,而高度固定的小工具应将该属性设置为 False。默认为 True。
scrolling 内容超出给定空间时提供纵向和/或横向滚动条的可选布尔值。如果为 False,则会按照给定(这并不表示宽度不可组态)的高度和宽度修剪内容。默认为 False。
singleton 指定用户是否可从目录中多次添加小工具的布尔值。默认为 True,这意味着默认情况下,小工具仅能添加一次。无论如何选择,目录均可处理该属性。例如,iGoogle 内容目录通过对已添加的小工具灰显文本“已添加”来处理 singleton="true"。请注意,对该属性的更改可能不会立即被目录接受。

该属性不会阻止用户通过开发人员小工具或“按网址添加”来多次添加小工具。因此,您仍然需要编写小工具来支持多次添加实例。

author_photo 对于作者页面,是至照片(首选 70x100 PNG 格式,但也支持 JPG/GIF)的网址。
author_aboutme 对于作者页面,是个人说明(请尽量保持在 500 个字符内)。
author_link 对于作者页面,是至您的网站、博客等的链接。
author_quote 对于作者页面,是您想要包含的摘录(请尽量保持在 300 个字符内)

上面的Google小工具只是加入了一些文本内容,实际里面可以添加HTML、JavaScript、Flash等代码,完成复杂的功能,使用户能够体验到复杂的交互,下面使用一个别人开发的名称为ROT13的Google小工具,看一下效果如何,XML代码如下所示:

<?xml version="1.0" encoding="UTF-8" ?>

 

<Module>

<ModulePrefs title="魔术译码器"

width = "320"

height = "200"

author = "shirdrn"

author_email = "shirdrn@hotmail.com"

description = "ROT13"/>

<Content type="html">

<![CDATA[

<script type="text/javascript"></script>

 

// The gadget version of ROT13.

// Encodes/decodes text strings by replacing each letter with the letter

// 13 positions to the right in the alphabet.

function decodeMessage (form) {

var alpha = "abcdefghijklmnopqrstuvwxyz";

var input = form.inputbox.value;

var aChar;

var message = "";

for (var i = 0; i <input.length; i++) 12) { // compensate for 0-based index

{

aChar = input.charAt(i);

var index = alpha.indexOf(aChar.toLowerCase());

 

// if a non-alphabetic character, just append to string

if (index==-1)

{

message += aChar;

}

 

// if you have to wrap around the end of the alphabet

else if(index >

index = 25 - index; // last item in array is at [25]

index = 12 - index; // because array starts with 0

aChar = alpha.charAt(index);

message += aChar;

}

 

// if you don't have to wrap

else {

aChar = alpha.charAt(index+13);

message += aChar;

}

}

document.getElementById('content_div').innerHTML = "<b>Your message: </b>" + message;

}

 

 

<FORM NAME="myform" ACTION="" METHOD="GET">Message: <BR>       <INPUT TYPE="text" NAME="inputbox" VALUE=""><P>       <INPUT TYPE="button" NAME="button" Value="Transform" onClick="decodeMessage(this.form)">

</FORM>

<div id="content_div"></div>

]]>

</Content>

</Module>

上面代码中,title我给修改了,由于发布需要一些必要的属性,我自己给添加上了一些,如下所示:

width = "320"

height = "200"

author = "shirdrn"

author_email = "shirdrn@hotmail.com"

description = "ROT13"

保存为magicDecoder.xml文件,实际上完整的URL形式为:

http://hosting.gmodules.com/ig/gadgets/file/117231683431063926075/magicDecoder.xml

然后,将其发布到我的iGoogle上,浏览效果如下所示:

填写一个Message,是字母串,我使用HelloShirdrn测试,如图所示:

关于ROT13,可以参考页面:

http://en.wikipedia.org/wiki/ROT13

转载于:https://www.cnblogs.com/min10/archive/2009/03/18/1415072.html

使用GGE开发Google小工具(Google Gadget)相关推荐

  1. 太强了,Python 开发桌面小工具,让代码替我们干重复的工作~

    作者 | Cherish 来源 | 杰哥的IT之旅 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解 ...

  2. C# JSON使用过程中开发的小工具

    我在用JSON的过程中,经常要去看一下JSON的结构,而JSON串大不部分时候都是未格式化的数据,一次我不得不用一些网页上的在线解析和格式化工具来进行格式化查看,但是这些网页有时候并不好用:因此就结合 ...

  3. 太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

    作者:Cherish 来源:https://www.jianshu.com/p/91128d442198 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python ...

  4. Python 开发桌面小工具,让代码替我们干重复的工作!

    作者:Cherish 来源:https://www.jianshu.com/p/91128d442198 本文为读者投稿 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 ...

  5. 视频硬字幕提取方法(可完全离线),开发个小工具辅助一下

    最近博主闲下来了,思考人生接下来的方向,无聊时帮别人做了点小东西,贡献出来: jre-17.0.7_win-x64的生成方式: 以管理员方式运行PowerShell执行命令: cd $env:JAVA ...

  6. 最新开发的小工具,配合“T-mold”使用,效果更佳!

    最新开发的小工具,配合"T-mold"使用,效果更佳! 主要功能: ①编辑颜色,透明度 ②刻字(支持中文哟) ③超级孔工具(螺纹孔可自动攻牙哟) ④模具设计快速排位(配合T-mol ...

  7. 太强了~Python 开发桌面小工具,让代码替我们干重复的工作

    决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解决思路,让代码替我们做重复的工作,从而减轻工作量,减 ...

  8. 微信开发调试小工具进化→微信用户发送信息模拟器发布!——这标题起真是好数码暴龙的说...

    直接说正题吧.最近在做微信第三方服务器.在模拟用户发过来的请求方面,网上流传着一个"微信开发调试小工具",谁做都不知道了.反正我觉得那个东西看起来挺不爽的,因为其信息发送类型不是很 ...

  9. websphere使用_使用WebSphere sMash为Google小工具提供动力

    websphere使用 存档日期:2019年5月16日 | 首次发布:2008年6月4日 IBM®WebSphere®sMash提供了多种方法来共享Web 2.0应用程序中的信息. 本文介绍了如何从头 ...

最新文章

  1. cpu上下文切换(下)
  2. MYSQL数据库——mysql的数据类型和运算符
  3. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  4. iptables学习笔记:端口转发之“外网访问内网”
  5. SpringBoot异步任务, 以及带返回值的异步任务(@Async 不起作用的原因)
  6. Python颜色空间转换(sRGB,AdobeRGB,CIE XYZ,Lab,HSV互转)
  7. 专业PDF转换Word/PPT/Excel工具:AnyBizSoft PDF Converter绿色便携版
  8. 【杂七杂八】《我叫MT online》反编译解析
  9. 企企通携手“浙江制造”品牌【安诺化学】,一站式采购管理助推企业数字化建设
  10. 服务器上Ubuntu系统的java依赖安装
  11. Eclipse启动加载工作空间突然闪退
  12. GPS:一个去中心化的抽奖式Token Offering模型
  13. 半钧先生:分享一波超赞的冬至文案,句句暖到心!
  14. java 二进制 包_如何用JAVA把内存里的二进制文件打包成ZIP包
  15. MySQL系列-undo
  16. 马云称经济今明两年最严峻
  17. X58老平台华硕P6T SE安装NVME SSD折腾记录和简单教程
  18. 26 工作流会签开发一票通过,一票否决,多数同意通过
  19. 联想笔记本关闭切换大小写的提示图标
  20. 加法计算-parseFloat

热门文章

  1. JAVA版不祥之兆等级怎么看,袭击队长 - Minecraft Wiki,最详细的官方我的世界百科...
  2. subprocess理解
  3. NSUserDefaults见解
  4. DHU deeplearning 深度学习处理文本数据 章节阶测
  5. python画图marker显示_python画图(标记、marker、设置标记大小、marker符号大全)(图文详细入门教程五)...
  6. 阿里巴巴集团增持阿里影业股权完成交割
  7. FINWEX MDUKEY专题AMA精彩回顾
  8. 星球乐园 | 对节日无感的寡淡人士,你们还猜灯谜吗?
  9. java 权重_权重随机算法的java实现
  10. dataframe格式知识点总结