SlideShare una empresa de Scribd logo
1 de 13
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

Más contenido relacionado

Similar a Upcoming OpenSocial Features: New APIs for Albums and Reverse Phone Home

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 againBryan 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 09Chris 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 UpdatePatrick Chanezon
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialPatrick Chanezon
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial IntroPamela Fox
 
SP Rest API Documentation
SP Rest API DocumentationSP Rest API Documentation
SP Rest API DocumentationIT Industry
 
Eye em api_intro
Eye em api_introEye em api_intro
Eye em api_introEyeEm
 
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.9MySpaceDevTeam
 
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 APIMark Koh
 
Foundations of a Social Application Platform
Foundations of a Social Application PlatformFoundations of a Social Application Platform
Foundations of a Social Application PlatformJonathan LeBlanc
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationChris 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 UpdatePatrick Chanezon
 
Integrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsIntegrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsChris Schalk
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2Glenn Jones
 
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 APIsTom Johnson
 
Pb developer api_guide
Pb developer api_guidePb developer api_guide
Pb developer api_guidefntest001
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712weitzelm
 

Similar a Upcoming OpenSocial Features: New APIs for Albums and Reverse Phone Home (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)
 

Último

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Upcoming OpenSocial Features: New APIs for Albums and Reverse Phone Home

  • 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