SlideShare a Scribd company logo
Upcoming OpenSocial Features
New OpenSocial APIs on orkut.com




Shishir Birmiwal
Software Engineer



                                   Google Confidential and Proprietary   1
Recent Developments


• OpenSocial 0.8 launched on orkut
• REST/RPC on orkut
• Clients for RPC/REST [java, php, python, ruby]
     http://code.google.com/p/opensocial-java/client/
• Spec for 0.9 frozen
     http://sites.google.com/site/opensocialdraft/Home




                                                         Google Confidential and Proprietary
Albums API
access user's photos on orkut




                                Google Confidential and Proprietary   3
Albums API


• Standardized in OpenSocial 0.9 spec
• Allows an app to create, delete, get and update albums and photos
• APIs for access using REST, RPC and JS




                                                     Google Confidential and Proprietary
Albums API


opensocial.MediaItem extended
    represents a photo (or video) on orkut
    Title, description, thumbnailUrl, albumId.. added

opensocial.Album introduced
    represents a collection of MediaItems
    has title, description, thumbnailUrl, ownerId, etc.




                                                           Google Confidential and Proprietary
Albums API: JS


opensocial.newFetchAlbumsRequest(idSpec, opt_params)
     fetches albums for a user
     opt_params to specify a particular album or for paging
opensocial.newFetchMediaItemsRequest(idSpec, albumId, opt_params)
     fetches mediaitems in an album for a user
     opt_params to specify particular mediaitems or for paging
opensocial.newCreateAlbumRequest() - create an album
opensocial.newUpdateAlbumRequest() - update an album
opensocial.newDeleteAlbumRequest() - delete an album


similarly for MediaItems

                                                       Google Confidential and Proprietary
Albums API: JS


req = opensocial.newDataRequest();
req.add(req.newFetchAlbumsRequest(idspec, params), 'albums');
req.send(processAlbums);


function processAlbums(data) {
    var albums = data.get('albums').getData();
    albums.each(function(album) {
     output(album.getField(opensocial.Album.Field.ID));
     output(album.getField(opensocial.Album.Field.CAPTION));
     output(album.getField(opensocial.Album.Field.THUMBNAIL_URL));
    });
}

                                                               Google Confidential and Proprietary
Albums API: REST and RPC


REST base: /social/rest/
• /albums/{userId}/{groupId}/{albumId}
• /mediaitems/{userId}/{groupId}/{albumId}/{mediaItemId}

RPC endpoint: /social/rpc
• methods: albums.create, albums.delete, albums.get and albums.update;
  similarly for media items: mediaitems.create, mediaitems.delete,
  mediaitems.get and mediaitems.update




                                                           Google Confidential and Proprietary
REST and RPC
reverse phone home




                     Google Confidential and Proprietary   9
REST and RPC


REST and RPC services now available on orkut
• backend servers can initiate actions on orkut
• backend servers authenticate using OAuth
• visit http://google.com/directory/gadgets/verify to get consumer key and secret
  for OAuth parameter signing
• open-source client libraries available on Google code
     php, python, java and ruby clients




                                                              Google Confidential and Proprietary
Reverse Phone Home using OAuth




                                 Google Confidential and Proprietary
Demo time
• RPC / REST on the command line
• OpenSocial client libraries
• A gadget that shows your photos




                                    Google Confidential and Proprietary   12
Thank You!
make your app more engaging




                              Google Confidential and Proprietary   13

More Related Content

Similar to Upcoming Features on Orkut API by Shishir Birmiwal

EdTechJoker Spring 2020 - Lecture 8 Drupal again
EdTechJoker Spring 2020 - Lecture 8 Drupal againEdTechJoker Spring 2020 - Lecture 8 Drupal again
EdTechJoker Spring 2020 - Lecture 8 Drupal again
Bryan Ollendyke
 
OpenSocial CyWorld Dev.Square presentation Sep 09
OpenSocial CyWorld Dev.Square presentation Sep 09OpenSocial CyWorld Dev.Square presentation Sep 09
OpenSocial CyWorld Dev.Square presentation Sep 09
Chris Schalk
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdateGoodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
Patrick Chanezon
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
Patrick Chanezon
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
Pamela Fox
 
SP Rest API Documentation
SP Rest API DocumentationSP Rest API Documentation
SP Rest API Documentation
IT Industry
 
Eye em api_intro
Eye em api_introEye em api_intro
Eye em api_intro
EyeEm
 
MySpace Open Platform enhancements with OpenSocial 0.9
MySpace Open Platform enhancements with OpenSocial 0.9MySpace Open Platform enhancements with OpenSocial 0.9
MySpace Open Platform enhancements with OpenSocial 0.9
MySpaceDevTeam
 
Audio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web APIAudio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web API
Mark Koh
 
Foundations of a Social Application Platform
Foundations of a Social Application PlatformFoundations of a Social Application Platform
Foundations of a Social Application Platform
Jonathan LeBlanc
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
Chris Schalk
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
Patrick Chanezon
 
Integrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsIntegrating Google APIs into Your Applications
Integrating Google APIs into Your Applications
Chris Schalk
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2
Glenn Jones
 
OpenSocial
OpenSocialOpenSocial
OpenSocial
Ram Sharma
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
Tom Johnson
 
Pb developer api_guide
Pb developer api_guidePb developer api_guide
Pb developer api_guide
fntest001
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
weitzelm
 
Open social
Open socialOpen social
Open social
Tushar Gandhi
 
oEmbed (on rails)
oEmbed (on rails)oEmbed (on rails)
oEmbed (on rails)
Kerstin Puschke
 

Similar to Upcoming Features on Orkut API by Shishir Birmiwal (20)

EdTechJoker Spring 2020 - Lecture 8 Drupal again
EdTechJoker Spring 2020 - Lecture 8 Drupal againEdTechJoker Spring 2020 - Lecture 8 Drupal again
EdTechJoker Spring 2020 - Lecture 8 Drupal again
 
OpenSocial CyWorld Dev.Square presentation Sep 09
OpenSocial CyWorld Dev.Square presentation Sep 09OpenSocial CyWorld Dev.Square presentation Sep 09
OpenSocial CyWorld Dev.Square presentation Sep 09
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdateGoodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
 
SP Rest API Documentation
SP Rest API DocumentationSP Rest API Documentation
SP Rest API Documentation
 
Eye em api_intro
Eye em api_introEye em api_intro
Eye em api_intro
 
MySpace Open Platform enhancements with OpenSocial 0.9
MySpace Open Platform enhancements with OpenSocial 0.9MySpace Open Platform enhancements with OpenSocial 0.9
MySpace Open Platform enhancements with OpenSocial 0.9
 
Audio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web APIAudio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web API
 
Foundations of a Social Application Platform
Foundations of a Social Application PlatformFoundations of a Social Application Platform
Foundations of a Social Application Platform
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
Integrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsIntegrating Google APIs into Your Applications
Integrating Google APIs into Your Applications
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2
 
OpenSocial
OpenSocialOpenSocial
OpenSocial
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
Pb developer api_guide
Pb developer api_guidePb developer api_guide
Pb developer api_guide
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
 
Open social
Open socialOpen social
Open social
 
oEmbed (on rails)
oEmbed (on rails)oEmbed (on rails)
oEmbed (on rails)
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 

Upcoming Features on Orkut API by Shishir Birmiwal

  • 1. Upcoming OpenSocial Features New OpenSocial APIs on orkut.com Shishir Birmiwal Software Engineer Google Confidential and Proprietary 1
  • 2. Recent Developments • OpenSocial 0.8 launched on orkut • REST/RPC on orkut • Clients for RPC/REST [java, php, python, ruby]  http://code.google.com/p/opensocial-java/client/ • Spec for 0.9 frozen  http://sites.google.com/site/opensocialdraft/Home Google Confidential and Proprietary
  • 3. Albums API access user's photos on orkut Google Confidential and Proprietary 3
  • 4. Albums API • Standardized in OpenSocial 0.9 spec • Allows an app to create, delete, get and update albums and photos • APIs for access using REST, RPC and JS Google Confidential and Proprietary
  • 5. Albums API opensocial.MediaItem extended  represents a photo (or video) on orkut  Title, description, thumbnailUrl, albumId.. added opensocial.Album introduced  represents a collection of MediaItems  has title, description, thumbnailUrl, ownerId, etc. Google Confidential and Proprietary
  • 6. Albums API: JS opensocial.newFetchAlbumsRequest(idSpec, opt_params)  fetches albums for a user  opt_params to specify a particular album or for paging opensocial.newFetchMediaItemsRequest(idSpec, albumId, opt_params)  fetches mediaitems in an album for a user  opt_params to specify particular mediaitems or for paging opensocial.newCreateAlbumRequest() - create an album opensocial.newUpdateAlbumRequest() - update an album opensocial.newDeleteAlbumRequest() - delete an album similarly for MediaItems Google Confidential and Proprietary
  • 7. Albums API: JS req = opensocial.newDataRequest(); req.add(req.newFetchAlbumsRequest(idspec, params), 'albums'); req.send(processAlbums); function processAlbums(data) { var albums = data.get('albums').getData(); albums.each(function(album) { output(album.getField(opensocial.Album.Field.ID)); output(album.getField(opensocial.Album.Field.CAPTION)); output(album.getField(opensocial.Album.Field.THUMBNAIL_URL)); }); } Google Confidential and Proprietary
  • 8. Albums API: REST and RPC REST base: /social/rest/ • /albums/{userId}/{groupId}/{albumId} • /mediaitems/{userId}/{groupId}/{albumId}/{mediaItemId} RPC endpoint: /social/rpc • methods: albums.create, albums.delete, albums.get and albums.update; similarly for media items: mediaitems.create, mediaitems.delete, mediaitems.get and mediaitems.update Google Confidential and Proprietary
  • 9. REST and RPC reverse phone home Google Confidential and Proprietary 9
  • 10. REST and RPC REST and RPC services now available on orkut • backend servers can initiate actions on orkut • backend servers authenticate using OAuth • visit http://google.com/directory/gadgets/verify to get consumer key and secret for OAuth parameter signing • open-source client libraries available on Google code  php, python, java and ruby clients Google Confidential and Proprietary
  • 11. Reverse Phone Home using OAuth Google Confidential and Proprietary
  • 12. Demo time • RPC / REST on the command line • OpenSocial client libraries • A gadget that shows your photos Google Confidential and Proprietary 12
  • 13. Thank You! make your app more engaging Google Confidential and Proprietary 13