2. DEMO
Realizing a live twitter wall with twitterizer and put it on a SharePoint
2013 page.
4. About me
• 25
• SharePoint
• Web dev
• Consulting
• @hupseb
• Employed at - alegri.eu
• sharepoint.stackexchange.com
• No blog yet Working on it... ;)
5. • Foundation year: 2001
• 225 employees (DACH region)
• 8 locations
• One of the biggest Microsoft-
and Unite- (SAP & Microsoft)
partners in Germany
• 60+ of DAX 100 companies
are our costumers
• Consulting Excellence in Microsoft
Enterprise Solutions
• Alegri.eu
6. Twitter
• Social networking and
microblogging service
• Founded 2006 by Jack Dorsey
• Amount of users grows and
grows and...
• End of 2011 – 100 million
• March 2013 – 1200 million
• 340 million tweets daily
• 1.6 billion search queries per
day
• business.twitter.com
10. The twitter APIs - overview
• REST APIs – (Representational State Transfer)
• Search API
• REST API v.1.1 (v.1 depricated – blackout tests running)
• In pipeline to unify
• Parameters (count vs. page and rpp)
• Object differences
• Poll-based system / pseudo real-time
• Streaming API
• Supports long-lived connections on a different architecture
• Real-time delivery of tweets
11. How to search for tweets
• Search API
• http://search.twitter.com/search.json?q=twitter
• Non authentication possible
• Very limited
• REST API v.1.1
• https://api.twitter.com/1.1/search/tweets.json
• Authentication required
• More queries
• Better Limits
14. Streaming API
• Streamed via HTTP
• Three streams
• Public stream
• User stream
• Site stream
• Firehose
• Attaching to ALL tweets worldwide
• Only for Twitter partners
• http://gnip.com/twitter/ Premium twitter streams
• no official volume limit
• 400 track keywords, 5,000 follow userids and 25 0.1-360 degree
location boxes
15. Architecture of TwitterSky
1. SignalR hub initializes
2. Use Twitterizer to attach
to Twitter streaming API
5. Asynchronous notification
of new tweets
4. Answer each
6. Pushes tweet to tweet as a chunk
the connected
clients 3. Authenticate to
twitter
Streaming API
via oAuth.
7. Client renders the tweets
17. Limits, limits, limits...
• Direct messages: 250 per day
• Tweets: 1,000 per day
• Changes to account email: 4 per hour
• Following: 1,000 per day + aggressive follower block
• Following (account-based): Once an account is following 2,000 more
follower are needed to follow more people.
• Reading request from applications:
• 150 unauthenticated per hour per IP
• Authenticated depends on method that is called:
• https://dev.twitter.com/docs/rate-limiting/1.1
• https://dev.twitter.com/docs/rate-limiting/1.1/limits
18. ... limits, limits... limits!
• X-Rate-Limit-Limit:
rate limit ceiling for current request
• X-Rate-Limit-Remaining:
number of requests left
• X-Rate-Limit-Reset:
the remaining time window before reset
22. Search API
• Just two methods search and trends.
• Parameters to create advanced searches: location, language,
tweets to/about/from specific users, more.
• Retrieve trends, find out what´s hot on twitter programmatically.
23. REST API v.1.1
• 87 methods mirroring nearly all of twitter's user-facing features
• Returns XML or JSON for all methods, RSS and ATOM for
methods that return timelines.
• Supports JSON callbacks, a variety of parameters to slice 'n
dice.
• Meaningful use of HTTP response codes, plus explanatory error
messages in the requested format.
24. Goodies – hotkeys I
• Aktionen • Navigation
N Neuer Tweet ? Hilfe
F Favorisieren J Nächster Tweet
R Antworten K Vorheriger Tweet
T Retweeten Space Zum Seitenende
M Direktnachricht / Suche
B Nutzer blockieren . Neue Tweets laden
U Nutzer entblocken
Enter Details
L Alle schließen
25. Goodies – hotkeys II
• Timelines
GH Startseite GF Favoriten
GC Verbinden GL Listen
GA Aktivität GM Nachrichten
GR Erwähnungen GS Einstellungen
GD Entdecken GU Gehe zu
GP Profil Benutzer...
GF Favoriten
Hinweis der Redaktion
5-10 minutes:
Stamme aus der Nähe von Nürnberg, hoffe mein Dialekt nehmt ihr mich nicht allzu übelEntwickle SharePoint Lösungen, in letzter Zeit überwiegend in real-time mit Signal-R, knockoutjs…Alegri -> Stand mit Redbull hinweisenDie Dosen in den Goodie bags sind von uns ;)Ja ich arbeite im Moment an einem Blog… der ist noch nicht ganz fertig, aber in naher Zukunft wird es was.
Frage: Wer kennt den User mit den meisten Followern? Justin Bieber, 36.89 million… Danach kommt Lady Gaga und unter den Top 10 ist auch Barack ObamaWie macht Twitter Geld?Im Jahre 2008 hatte Twitter noch UmsatzproblemeSpäter kam Verkauf von sponsored links dazu.Tweets werden dort plaziert wo sie gesucht werden sollen.0,30 Cent per new FollowerFotograf für DJs (Liveveranstaltungen) hat somit 1300 Follower gewonnen und konnte Businnes startenHeute gibt es Webseiten, die den Wert deinen Twitter Accounts messen http://www.tweetvalue.net/Im Jahre 2014 soll Twitter 1 Millarden US dollar Wert sein.
Eventbenachrichtigungen aus erster Hand: - Rackspace Webinars von Todd-Klindt - Neue Community Veranstaltungen (z.B. Anmeldung für das ShareCamp 2013 oder Usergroup) - David Fowler Entwicklungsstand zu SignalR - Neue ZertifikateHeißer Draht zu Experten: - Sie antworten auch, denn sie bekommen notifications (siehe Bild)An Clipboard malen:News sind schnell in das Unternehmen gebracht: - #yam - Autoforward to Facebook
5-10 minutes:Open the warmed up team siteRemove the newsfeed and and add the embedded code from twitterAaaaaaaaaaaaaaaaaaaaaaaaaaah omg it‘s not working for SharePoint 2013!!!First do it with notepadShow that the „src="http://platform.twitter.com/widgets.js" mattersShow that type="text/javascript„ mattersShow the central administration Security Manage web part securityIn case if you want to refuse people adding curstom javascriptShow dark themehow additional customizing options like width and height- data-theme="dark"
Twitter API besteht aus drei Teilen: - Zwei REST APIs - Erster Blackout test On March 5th, 2013, from around 9:00am to 10:00am PST - Einer Streaming API - Historischer Zukauf von Search APISeit März 2013 version 1. deprecated und version 1.1: - Viele Quellen langen sich nur mit einer Authentifizierung (Oauth) ansteueren - Sogar die Help lässt nur mit Authentifizierung auslesen - Einzige nicht authentifizierungswürdige Quelle ist der Request nach eiem Oauth Token https://dev.twitter.com/docs/api/1/post/oauth/request_tokenSearch API: - Just two methods search and trends. - Parameters to create advanced searches: location, language, tweets to/about/from specific users, more. - Retrieve trends, find out what´s hot on twitter programmaticallyREST API v.1.1: - 87 methods mirroring nearly all of twitter's user-facing features - Returns XML or JSON for all methods, RSS and ATOM for methods that return timelines. - Supports JSON callbacks, a variety of parameters to slice 'n dice. - Meaningful use of HTTP response codes, plus explanatory error messages in the requested format.
Search is focused in relevance and not completeness. Tweets of some users can be missing1000 maximum querySearch API – very limited - only 15 tweets returnedhttps://dev.twitter.com/docs/using-searchWith page=10 and rpp=150REST API v.1.1 - https://dev.twitter.com/docs/api/1.1/get/search/tweets
<iframe width="100%" height="100%" src="http://192.168.1.100/twittersky" frameborder="0" allowfullscreen></iframe>Zeigenwie man esalsiframeeinbindenkann auf leererWikiseiteZeigen,dass die iframeEinstellungen auf “… don’t permit sein muss
If an application using the REST API says you have been rate limited you can still you the web site or the mobile applications to update your status.Quellen:https://support.twitter.com/articles/15364https://support.twitter.com/articles/160385https://dev.twitter.com/docs/things-every-developer-should-know
An Clipboard malen:If user A launches application Z, and app Z makes 10 calls to user A’s mention timeline in a 15 minute window, then app Z has 5 calls left to make for that windowThen user A launches application X, and app X calls user A’s mention timeline 3 times, then app X has 12 calls left for that windowThe remaining value of calls on application X is isolated from application Z’s, despite the same user A
Quellen:https://dev.twitter.com/docs/using-search
Allows developers to access core dataUpdate time linesUpdate status dataUpdate user informationQuellen:https://dev.twitter.com/docs/api/1.1