SlideShare ist ein Scribd-Unternehmen logo
1 von 50
@adewale
buzz.google.com/adewale
Exploring Google’s
   Social APIs
Why develop on Google Buzz?
4
5
7
Screenshots from: http://www.go-buzz.com/
8
Why do you care?




9
Using the Google Buzz API




                            10
Passwords are bad for everyone
OAuth




          Your                           Service
        Application   Get unauthorized   Provider
                      request token




 1. Your application gets an unauthorized request
    token from the Service Provider’s authorization
    server.
OAuth




          Your                           Service
        Application                      Provider
                      Send user to SP
                      with token




 2. Your application sends the user to the Service
    Provider, which asks the user to grant your
    application access to the required data.
OAuth




          Your                           Service
        Application   Get authorized     Provider
                      request token




 3. Your application gets an authorized request token
    from the authorization server.
OAuth




          Your                           Service
        Application   Exchange request   Provider
                      for access token




 4. You exchange the authorized request token for an
    access token.
OAuth




          Your                           Service
        Application   Use access token   Provider
                      to get data




 5. You use the access token to request data from
    Service Provider’s service access servers.
Auth url:   https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
scope:      https://www.googleapis.com/auth/buzz
domain:     www.example.org
iconUrl:    http://www.example.org/icon.png
https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbuzz
&domain=www.example.org
&oauth_token=
Polling is bad for everyone
code.google.com/p/pubsubhubbub
PubSubHubbub




     Publisher   Hub   Subscriber
PubSubHubbub


                                 Give
                             me your latest
                            content for feed
                              X, please.

      Publisher                                Subscriber




 1. Subscriber gets Publisher’s feed. The feed
    contains a link to the Hub.
PubSubHubbub



                      I've delegated
                    distribution of that
                   content to this Hub.


      Publisher                            Subscriber




 1. Subscriber gets Publisher’s feed. The feed
    contains a link to the Hub.
PubSubHubbub

                                 I want to
                             subscribe to feed
                            X. Send updates to
                                 this URL



      Publisher          Hub                     Subscriber




 2. Subscriber POSTs subscription request to the Hub.
    The request contains the URL where the Hub
    should POST new updates to the Subscriber.
PubSubHubbub

                             Hey there! Did
                           you really send this
                                request?




      Publisher           Hub                     Subscriber




 3. Hub hits the URL to verify the request was
    authentic; Subscriber responds with confirmation to
    the Hub.
PubSubHubbub


                                Yup, that was
                            really me, not a DoS
                                   attacker.



      Publisher           Hub                      Subscriber




 3. Hub hits the URL to verify the request was
    authentic; Subscriber responds with confirmation to
    the Hub.
PubSubHubbub


                    I have new
                  content for feed
                    X for you!



      Publisher                      Hub   Subscriber




 4. a) Publisher notifies Hub about updates by
    POSTing feed URLs to the Hub; Hub pulls the feed
    again to find new entries.
PubSubHubbub

                     Give me
                    your latest
                  content for feed
                     X, please.



      Publisher                  Hub   Subscriber




 4. a) Publisher notifies Hub about updates by
    POSTing feed URLs to the Hub; Hub pulls the feed
    again to find new entries.
PubSubHubbub


                  Here you go.




      Publisher                  Hub   Subscriber




 4. a) Publisher notifies Hub about updates by
    POSTing feed URLs to the Hub; Hub pulls the feed
    again to find new entries.
PubSubHubbub

                     Give me
                    your latest
                  content for feed
                     X, please.



      Publisher                      Hub    Subscriber




 4. b) If the Publisher does not inform the Hub, the
    Hub will periodically poll the Publisher’s feed for
    new updates.
PubSubHubbub


                  Here you go.




      Publisher                  Hub        Subscriber




 4. b) If the Publisher does not inform the Hub, the
    Hub will periodically poll the Publisher’s feed for
    new updates.
PubSubHubbub


                                 New update
                               to feed X! Here
                                    you go.



      Publisher          Hub                     Subscriber




 5. When Hub receives new update to feed X, it
    POSTs the update to the Subscriber’s endpoint
    URL.
PubSubHubbub


                                  New update
                                to feed X! Here
                                     you go.



      Publisher           Hub                     Subscriber
                                                   Subscriber
                                                    Subscriber
                                                     Subscriber
                                                      Subscriber
                                                       Subscriber




 6. If feed X has multiple subscribers, the Hub sends
    updates to all of them. This reduces load on the
    Publisher.
PubSubHubbub
Firehose
Photo credit: Nandhp, used under the Creative Commons Attribution-Share Alike 3.0 Unported license.




Gardenhose
Track
http://buzzchatbot.com
Links



https://code.google.com/apis/buzz/docs/

http://code.google.com/p/google-api-php-client/
http://code.google.com/p/google-api-python-client/
http://code.google.com/p/google-api-java-client/
http://code.google.com/p/google-api-ruby-client

http://code.google.com/p/buzz-codelabs
http://code.google.com/p/buzz-mood
Making your products better
Log-in with Google

 Find your friends
Drive traffic with Share to Buzz button
Showcase relevant conversations in realtime
Questions?
...and answers

Weitere ähnliche Inhalte

Andere mochten auch (14)

익스트림 스포츠 사진들
익스트림 스포츠 사진들익스트림 스포츠 사진들
익스트림 스포츠 사진들
 
Web 2
Web 2Web 2
Web 2
 
Nacimiento de Navidad 2010
Nacimiento de Navidad 2010Nacimiento de Navidad 2010
Nacimiento de Navidad 2010
 
Ape hs300
Ape hs300Ape hs300
Ape hs300
 
Lane 334 ch 1-2
Lane 334 ch 1-2Lane 334 ch 1-2
Lane 334 ch 1-2
 
101005 convegno prospettive comunicazione multimediale mobile
101005 convegno prospettive comunicazione multimediale   mobile101005 convegno prospettive comunicazione multimediale   mobile
101005 convegno prospettive comunicazione multimediale mobile
 
Listado de libros
Listado de librosListado de libros
Listado de libros
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
Dossier Finca Las Contreras
Dossier Finca Las ContrerasDossier Finca Las Contreras
Dossier Finca Las Contreras
 
Subversion
SubversionSubversion
Subversion
 
Substation Design Siemens
Substation Design SiemensSubstation Design Siemens
Substation Design Siemens
 
Discovery: A users guide to young men research
Discovery: A users guide to young men researchDiscovery: A users guide to young men research
Discovery: A users guide to young men research
 
Pictogramas
PictogramasPictogramas
Pictogramas
 
Remote Offsets Flyer 9-1-16
Remote Offsets Flyer 9-1-16Remote Offsets Flyer 9-1-16
Remote Offsets Flyer 9-1-16
 

Mehr von Ade Oshineye

Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
Ade Oshineye
 

Mehr von Ade Oshineye (9)

Google+ Hangouts at Digital Shoreditch
Google+ Hangouts at Digital ShoreditchGoogle+ Hangouts at Digital Shoreditch
Google+ Hangouts at Digital Shoreditch
 
Google+: an introduction
Google+: an introductionGoogle+: an introduction
Google+: an introduction
 
The freedom to be you
The freedom to be youThe freedom to be you
The freedom to be you
 
Google, Developer Experience and Discovery
Google, Developer Experience and DiscoveryGoogle, Developer Experience and Discovery
Google, Developer Experience and Discovery
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
 
Distributed Backups for friends and communities
Distributed Backups for friends and communitiesDistributed Backups for friends and communities
Distributed Backups for friends and communities
 
What comes after social networking?
What comes after social networking?What comes after social networking?
What comes after social networking?
 
Google masterplan
Google masterplanGoogle masterplan
Google masterplan
 
Test Driven Development on Google App Engine
Test Driven Development on Google App EngineTest Driven Development on Google App Engine
Test Driven Development on Google App Engine
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Exploring Google's Social APIs

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. -Protocol, Secure API auth\n-Simple and standard\n-Desktop and web\n-Limit the access scope\n\nno:\n-OAuth, the valet key of authentication\n
  14. -Protocol, Secure API auth\n-Simple and standard\n-Desktop and web\n-Limit the access scope\n\nno:\n-OAuth, the valet key of authentication\n
  15.   OAUTH_CONSUMER_KEY,\n  OAUTH_CONSUMER_SECRET,\n  buzz.FULL_ACCESS_SCOPE\n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  25. PubSubHubbub, real-time data syndication\n
  26. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  27. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  28. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  29. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  30. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  31. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  32. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  33. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  34. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  35. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  36. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  37. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  38. -PubSubHubbub enabled feeds are identified by the presence of a link element with a rel value of "hub" beneath the feed element. For example, the following feed has a "hub" URL of http://pubsubhubbub.appspot.com/.\n-send a subscription request to the hub identifying the feed you would like to receive updates for, as well as your application's callback URL where updates should be sent\n-the hub will send a verification request to your application's callback URL. To confirm the subscription, your application must respond with an HTTP success (2xx) code with a response body that contains the hub.challenge parameter that was provided in the hub's verification request. Note that the hub may continue to send subsequent verification requests like this in the future to ensure that your application still wishes to receive updates. If at any time you do not wish to receive updates anymore, simply respond to the verification request with an HTTP Not Found (404) code.\n-Once you have successfully subscribed with the hub to receive updates, you should begin to see HTTP POST requests to your callback URL which include the Atom formatted Buzz activities. Your application must respond with an HTTP success (2xx) code to these requests to signify to the hub that you have received the updates.\n\n
  39. The future is distributed: There will be big hubs, many small hubs, and tons of publishers and subscribers. Publishers, subscribers, and hubs may play multiple roles.\n
  40. \n
  41. \n
  42. Photo: http://www.nps.gov/dena/bear-safety.htm\n(US Government photo)\n
  43. Photo: http://www.nps.gov/dena/bear-safety.htm\n(US Government photo)\n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n