[CPyUG:84157] 写了一段OpenSocial代码,不知道怎么运行

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG:84157] 写了一段OpenSocial代码,不知道怎么运行

张鹏-2
这两天晚上回家闲来无事,就照着Google App
Engine中的一篇文章(地址是http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine)想把Google
App Engine和OpenSocial整合一下,GAE的demo跑着没问题,但是OpenSocial的代码不知道怎么运行,挺郁闷的,请大家告诉我一下运行OpenSocial的思路。谢谢

--
张   鹏
--------------------------------------------------------

个人主页:http://roc.appspot.com/
目前正在开发维护中,欢迎登录测试
联系方式:MSN:[hidden email]

--~--~---------~--~----~------------~-------~--~----~
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

[CPyUG:84159] Re: 写了一段OpenSocial代码,不知道怎么运行

free.wang
这里是我的代码.

2009/4/18 巨蟒人 <[hidden email]>
这两天晚上回家闲来无事,就照着Google App
Engine中的一篇文章(地址是http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine)想把Google
App Engine和OpenSocial整合一下,GAE的demo跑着没问题,但是OpenSocial的代码不知道怎么运行,挺郁闷的,请大家告诉我一下运行OpenSocial的思路。谢谢

--
张   鹏
--------------------------------------------------------

个人主页:http://roc.appspot.com/
目前正在开发维护中,欢迎登录测试
联系方式:[hidden email]





--
真正的杰出,不是妙用规则的错层,而是极致的偏执于信念.
The Crankiness of  Belief achieves Greate , not the Trick of Regulation.

--~--~---------~--~----~------------~-------~--~----~
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
-~----------~----~----~----~------~----~------~--~---


<?xml version="1.0" encoding="UTF-8" ?>
<Module>
 <ModulePrefs title="yiluba"
                screenshot="http://tbn3.google.com/images?q=tbn:cD_Pq6zoJRk3ZM:http://www.zoneidc.com/Pdt_Images/EM06_zoneidc.gif"
                author="free.Won"
                author_email="[hidden email]">
  <Require feature="opensocial-0.7"></Require>
  <Require feature="dynamic-height"></Require>
 </ModulePrefs>
 <Content type="html">
 <![CDATA[

         <script src="http://testbyfree.appspot.com/media/jquery.min.js" charset="utf-8"></script>
         <script src="http://testbyfree.appspot.com/media/jquery.json-1.3.min.js" charset="utf-8"></script>
     <!--script src="http://testbyfree.appspot.com/media/jsapi/page.js" charset="utf-8"></script>
     <script src="http://testbyfree.appspot.com/media/jsapi/opsfunc.js" charset="utf-8"></script-->
        <style>
        a:link{text-decoration:none}
        #logo { color:#3366ff; }
        #create {
                font-size:13px;
                padding:1px 6px;
                background:#FFF4D0;
                border-right:solid 1px #F5E5A9;
                border-bottom:solid 1px #F5E5A9;
                color:#649B00;
        }
        </style>
    <div id="head"><h2><a id="logo" href="javascript:void(0);" onclick="index();">一路吧</a></h2>
        <table width="750" border="0">
          <tr>
            <th scope="col" align="left"><a id="create" href="javascript:void(0);" onclick="create()">创建活动</a></th>
            <th scope="col" align="right">搜索活动城市:<input type="text" id="city"><button onclick="search();">ok</button>&nbsp;</th>
          </tr>
        </table>


<!-- button onclick="create();"  style="font-size:13px;padding:1px 6px;background:#FFF4D0;border-right:solid 1px #F5E5A9;border-bottom:solid 1px #F5E5A9;color:#649B00;">创建活动</button -->

        </div>        
        <hr>  
    <div id="message"></div>
        <script type='text/javascript'>

/* Initial Global Variables */
var myinfo={};

/* ============================ <a> link will start these functions ================================== */


function start(){
        gadgets.util.registerOnLoadHandler(indexPage);
}

function index(){
   var url = 'http://testbyfree.appspot.com/xiaonei/';
   request(url,myinfo,'POST');
}

function create(){  
        var url="http://testbyfree.appspot.com/xiaonei/create/";
        request(url,myinfo,'POST');
}


function createok(){
        var url  = "http://testbyfree.appspot.com/xiaonei/create/";
        var tit  = $("#title").attr('value');
        var city = $("#area").attr("value");
        var con  = $("#content").attr("value");

        alert(city);
        alert(tit);
        request(url,{"title":tit,"content":con,"ok":1,"head":myinfo['head'],
                                 "city":city,"uid":myinfo['uid'],"name":myinfo['name']},'POST');
}

function reply(){
        var url="http://testbyfree.appspot.com/xiaonei/reply/";
        var con = $("#content").attr("value");
        var aid = $("#aid").attr("value");
        request(url,{"content":con,"head":myinfo['head'],"uid":myinfo['uid'],"aid":aid,"name":myinfo['name']},'POST');
}

function view(self){ //
        var param=  $(self).attr("name") + "";
        var url = "http://testbyfree.appspot.com/xiaonei/view/?aid=" + param;
        request(url);
}

function search(){
        var city = $("#city").attr("value");
        alert(city);
        var url = "http://testbyfree.appspot.com/xiaonei/search/";
        request(url,{'city':city},'POST');
}
function delete(){ gadgets.util.registerOnLoadHandler(deletePage); }
/* ============================ End ================================== */








               
/* ============================ For Encapsulation Method ================================== */
        function response(data) {
          $("#message").empty();
          if (data.text.length>=5) {document.getElementById('message').innerHTML = data.text;}
          else{
                gadgets.util.registerOnLoadHandler(indexPage);
                //request("http://testbyfree.appspot.com/xiaonei/");
                }
        };                                                                                                                

        function request(url,paramdata,action) {  
          paramdata = gadgets.io.encodeValues(paramdata);
          var params = {};
          params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
          params[gadgets.io.RequestParameters.POST_DATA] = paramdata;      
      params[gadgets.io.RequestParameters.METHOD] =gadgets.io.MethodType.GET;
          if (action == 'POST'){params[gadgets.io.RequestParameters.METHOD] =gadgets.io.MethodType.POST;}
          gadgets.io.makeRequest(url, response, params);
        };
       

        function get_id(PersonObj)      { return PersonObj.getField(opensocial.Person.Field.ID); }
        function get_name(PersonObj)    { return PersonObj.getField(opensocial.Person.Field.NAME).fields_.formatted; }
        function get_headurl(PersonObj) { return PersonObj.getField(opensocial.Person.Field.THUMBNAIL_URL); }
/* ============================ End ================================== */





/* ============================ Get All Friend ================================== */
 function getData() {    
   var req = opensocial.newDataRequest();
   var params = {};
   params[opensocial.DataRequest.PeopleRequestFields.MAX] = 1024;
params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS]=[opensocial.Person.Field.NAME,opensocial.Person.Field.GENDER,opensocial.Person.Field.THUMBNAIL_URL,'birthday','highSchool','organizations','star',opensocial.Person.Field.ADDRESSES];
   req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');
   req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS,params), 'viewerFriends');
   req.send(callback);
 };


 function callback(dataResponse) {
   var viewer = dataResponse.get('viewer').getData();
   var viewerFriends = dataResponse.get('viewerFriends').getData();
   var html = 'Friends of ' + viewer.getDisplayName();
   html += ':<br><ul>';
   viewerFriends.each(function(person) {
       html += '<li>' + get_id(person) + '</li>';
       html += '<li>' + get_name(person) + '</li>';
       html += '<img src=' + get_headurl(person) + '></img>';
//       console.info(person.getField(opensocial.Person.Field.ID));
   });
   html += '</ul>';
   document.getElementById('message').innerHTML = html;
 };
// gadgets.util.registerOnLoadHandler(getData);
/* ===============================  end  =============================== */

/* ===============================  get self-profile  =============================== */
function getData() {
  var req = opensocial.newDataRequest();
  req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');
  req.send(onLoadMyInfo);
};
function onLoadMyInfo(dataResponse) {
   var viewer = dataResponse.get('viewer').getData();
   var html ='ID:'+get_id(viewer)+'</br>';
   html+='我的名字 ' + get_name(viewer)+'</br>';
   html+='<img src="' + get_headurl(viewer) + '"/>'+'</br>';
   document.getElementById('message').innerHTML = html;
};
//gadgets.util.registerOnLoadHandler(getData);
/* ===============================  end  =============================== */



/* ====  send  friends' info. to Server  ==== */
 function gen_json() {    
   var req = opensocial.newDataRequest();
   var params = {};
   params[opensocial.DataRequest.PeopleRequestFields.MAX] = 1024;
params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS]=[opensocial.Person.Field.NAME,opensocial.Person.Field.GENDER,opensocial.Person.Field.THUMBNAIL_URL,'birthday','highSchool','organizations','star',opensocial.Person.Field.ADDRESSES];
   req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');
   req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS,params), 'viewerFriends');
   req.send(callback);
 };


 function callback(dataResponse) {
   var viewer = dataResponse.get('viewer').getData();
   var viewerFriends = dataResponse.get('viewerFriends').getData();
   var html = 'Friends of ' + viewer.getDisplayName();
   var friendsProfile = new Array();
   viewerFriends.each(function(person) {
     var hash = {};
         hash['id'] = get_id(person);
         hash['name'] = get_name(person);
         hash['headurl'] = get_headurl(person);
         friendsProfile.push(hash);  
   });

/*
example:
    var thing = {plugin: 'jquery-json', version: 1.3};
        var encoded = $.toJSON(thing);              //'{"plugin": "jquery-json", "version": 1.3}'
        var name = $.evalJSON(encoded).plugin;      //"jquery-json"
        var version = $.evalJSON(encoded).version;  // 1.3
*/
  var json = $.toJSON(friendsProfile);   /*  json processing ,in jquery plugin */    
  var url    = "http://testbyfree.appspot.com/xiaonei/postapi/";
  var action = "POST";
  var param  = {};
  param['friends'] = json;
  request(url,param,action);        
  document.getElementById('message').innerHTML = json;

 };
// gadgets.util.registerOnLoadHandler(gen_json);
/*  ===  end ===  */


/* ============================ Index and Other Pages ================================== */
function indexPage() {
  var req = opensocial.newDataRequest();
  req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), 'viewer');
  req.send(indexPage1);
};
function indexPage1(dataResponse) {
   var viewer = dataResponse.get('viewer').getData();
   var url = 'http://testbyfree.appspot.com/xiaonei/';
   myinfo = {'uid':get_id(viewer),'name':get_name(viewer),'head':get_headurl(viewer)}; // send to GV.
   request(url,myinfo,'POST');
};
/* ============================ End ================================== */
start();// open and read indexPage
</script>


 ]]>
 </Content>
</Module>

Reply | Threaded
Open this post in threaded view
|

[CPyUG:84160] Re: 写了一段OpenSocial代码,不知道怎么运行

张鹏-2
我想知道gadget.xml是以怎样的方式运行的
另外,我看http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine这篇文章里还提到要下载一些插件,如pycrypto和OAuth以及RSA之类的东西,这些库是必要的么?
我就想看到一个比较简单的demo。

在 09-4-18,free.wang<[hidden email]> 写道:

> 这里是我的代码.
>
> 2009/4/18 巨蟒人 <[hidden email]>
>
>> 这两天晚上回家闲来无事,就照着Google App
>> Engine中的一篇文章(地址是
>> http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine
>> )想把Google
>> App
>> Engine和OpenSocial整合一下,GAE的demo跑着没问题,但是OpenSocial的代码不知道怎么运行,挺郁闷的,请大家告诉我一下运行OpenSocial的思路。谢谢
>>
>> --
>> 张   鹏
>> --------------------------------------------------------
>>
>> 个人主页:http://roc.appspot.com/
>> 目前正在开发维护中,欢迎登录测试
>> 联系方式:MSN:[hidden email] <MSN%[hidden email]>
>>
>> >
>>
>
>
> --
> 真正的杰出,不是妙用规则的错层,而是极致的偏执于信念.
> The Crankiness of  Belief achieves Greate , not the Trick of Regulation.
>
> >
>


--
张   鹏

北京东方龙为科技发展有限公司

--------------------------------------------------------

个人主页:http://roc.appspot.com/
目前正在开发维护中,欢迎登录测试
联系方式:MSN:[hidden email]

--~--~---------~--~----~------------~-------~--~----~
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

[CPyUG:84184] Re: 写了一段OpenSocial代码,不知道怎么运行

free.wang
比如在igoogle里  你在里面添加这个XML地址。 OPENSOCIAL的后端程序会处理这个XML。
换作在SNS服务器里也一样  :)

2009/4/18 巨蟒人 <[hidden email]>
我想知道gadget.xml是以怎样的方式运行的
另外,我看http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine这篇文章里还提到要下载一些插件,如pycrypto和OAuth以及RSA之类的东西,这些库是必要的么?
我就想看到一个比较简单的demo。

在 09-4-18,free.wang<[hidden email]> 写道:
> 这里是我的代码.
>
> 2009/4/18 巨蟒人 <[hidden email]>
>
>> 这两天晚上回家闲来无事,就照着Google App
>> Engine中的一篇文章(地址是
>> http://wiki.opensocial.org/index.php?title=Building_an_OpenSocial_App_with_Google_App_Engine
>> )想把Google
>> App
>> Engine和OpenSocial整合一下,GAE的demo跑着没问题,但是OpenSocial的代码不知道怎么运行,挺郁闷的,请大家告诉我一下运行OpenSocial的思路。谢谢
>>
>> --
>> 张   鹏
>> --------------------------------------------------------
>>
>> 个人主页:http://roc.appspot.com/
>> 目前正在开发维护中,欢迎登录测试
>> 联系方式:[hidden email] <[hidden email]>
>>
>> >
>>
>
>
> --
> 真正的杰出,不是妙用规则的错层,而是极致的偏执于信念.
> The Crankiness of  Belief achieves Greate , not the Trick of Regulation.
>
> >
>


--
张   鹏

北京东方龙为科技发展有限公司

--------------------------------------------------------

个人主页:http://roc.appspot.com/
目前正在开发维护中,欢迎登录测试
联系方式:[hidden email]
--~--~---------~--~----~------------~-------~--~----~
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

[CPyUG:84251] Re: 写了一段OpenSocial代码,不知道怎么运行

jejwester@gmail.com

国内的几个社交开放平台都支持OPENSOCIAL,你去注册个号,发布你的应用就可以看到了啊yiqi.cn       xiaonei.com  tianya.cn等等


--~--~---------~--~----~------------~-------~--~----~
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:[hidden email]
退订: http://tinyurl.com/45a9tb /针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
-~----------~----~----~----~------~----~------~--~---