Desenvolvendo Aplicativos Sociais com Rails 3

32
Desenvolvendo Aplicativos Sociais com Rails 3 Carlos Brando quarta-feira, 27 de outubro de 2010

description

Palestra realizada durante o RubyConf Brasil 2010.

Transcript of Desenvolvendo Aplicativos Sociais com Rails 3

Page 1: Desenvolvendo Aplicativos Sociais com Rails 3

Desenvolvendo Aplicativos Sociais com Rails 3

Carlos Brando

quarta-feira, 27 de outubro de 2010

Page 2: Desenvolvendo Aplicativos Sociais com Rails 3

quarta-feira, 27 de outubro de 2010

Page 3: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 4: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 5: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 6: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 7: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 8: Desenvolvendo Aplicativos Sociais com Rails 3

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

Page 9: Desenvolvendo Aplicativos Sociais com Rails 3

quarta-feira, 27 de outubro de 2010

Page 10: Desenvolvendo Aplicativos Sociais com Rails 3

Profilesquarta-feira, 27 de outubro de 2010

Page 11: Desenvolvendo Aplicativos Sociais com Rails 3

JSvar req = opensocial.newDataRequest();req.add(req.newFetchPersonRequest("OWNER"), "owner");req.send(fetchPersonHandler);

function fetchPersonHandler(data) { var owner = data.get('owner').getData(); alert(owner.getDisplayName());};

quarta-feira, 27 de outubro de 2010

Page 12: Desenvolvendo Aplicativos Sociais com Rails 3

REST

require 'oauth'require 'json'

uri = URI.parse "http://sandbox.orkut.com/social/rest/people/#{orkut_uid}/@self?xoauth_requestor_id=#{orkut_uid}"

http = Net::HTTP.new(uri.host, uri.port)req = Net::HTTP::Get.new(uri.request_uri)

consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET)req.oauth!(http, consumer, nil, :scheme => 'query_string')

resp = http.get(req.path)JSON.parse(resp.body)

quarta-feira, 27 de outubro de 2010

Page 13: Desenvolvendo Aplicativos Sociais com Rails 3

Friendsquarta-feira, 27 de outubro de 2010

Page 14: Desenvolvendo Aplicativos Sociais com Rails 3

JSvar req = opensocial.newDataRequest();req.add(req.newFetchPersonRequest("VIEWER"), "viewer");

var viewerFriends = opensocial.newIdSpec({ "userId" : "VIEWER", "groupId" : "FRIENDS" });

req.add(req.newFetchPeopleRequest(viewerFriends, {}), 'viewerFriends');

req.send(onLoadFriends);

quarta-feira, 27 de outubro de 2010

Page 15: Desenvolvendo Aplicativos Sociais com Rails 3

REST

http://sandbox.orkut.com/social/rest/people/#{orkut_uid}/@all?xoauth_requestor_id=#{orkut_uid}&count=9999

quarta-feira, 27 de outubro de 2010

Page 16: Desenvolvendo Aplicativos Sociais com Rails 3

Activitiesquarta-feira, 27 de outubro de 2010

Page 17: Desenvolvendo Aplicativos Sociais com Rails 3

JSfunction sendMessage(messageTitle, messageBody, friend) { var params = []; params[opensocial.Message.Field.TITLE] = messageTitle; params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.EMAIL; var message = opensocial.newMessage(messageBody, params); opensocial.requestSendMessage(friend, message, function() {});

}

quarta-feira, 27 de outubro de 2010

Page 18: Desenvolvendo Aplicativos Sociais com Rails 3

RESTquarta-feira, 27 de outubro de 2010

Page 19: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 20: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 21: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 22: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 23: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 24: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 25: Desenvolvendo Aplicativos Sociais com Rails 3

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

Page 26: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 27: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 28: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 29: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 30: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 31: Desenvolvendo Aplicativos Sociais com Rails 3

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

Page 32: Desenvolvendo Aplicativos Sociais com Rails 3

@carlosbrando

www.nomedojogo.com

quarta-feira, 27 de outubro de 2010