November 2008
Open Social – Social Gadgets
Fortsetzung, Teil 2
Open Social – Show me my friends
<div id='main'>Deine Freunde:<div id='friends'></div></div><script type='text/javascript'>function init() {loadFriends();}function loadFriends() {var req = opensocial.newDataRequest();req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS'), 'viewerFriends');req.send(onLoadFriends);}function onLoadFriends(data) {var viewerFriends = data.get('viewerFriends').getData();html = new Array();html.push('<ul>');viewerFriends.each(function(person) {html.push('<li>' + person.getDisplayName() +'<br /><img src="' +person.getField(opensocial.Person.Field.THUMBNAIL_URL) +'" alt=""/></li>');});html.push('</ul>');document.getElementById('friends').innerHTML = html.join('');}init();</script>
Das eigentliche Abrufen der Daten wird in der Funktion loadFriends() bewerkstelligt. Dazu wird zu Beginn ein neues DataRequest-Objekt erzeugt. Diesem Objekt muss ein FetchRequest-Objekt (hier FetchPeopleRequest-Objekt) zugefügt werden. Letzteres spezifiziert einen Viewer und legt fest, welche Daten ermittelt werden sollen (hier Personendaten).
Der Viewer definiert, aus welcher Sicht die Daten ermittelt werden sollen. Das FetchPeopleRequest-Objekt erlaubt das Abrufen von Personendaten aus Sicht des aktuell (eingeloggten) Users (VIEWER), des Profileigentümers (OWNER), den Freunden des Users (VIEWER_FRIENDS) und den Freunden des Profileigentümers (OWNER_FRIENDS). In diesem Beispiel sollen die Freunde des Users angezeigt werden (VIEWER_FRIENDS).
Der Request selbst wird nach Zusammenstellung per Send-Methode und Definition einer Callback-Methode (hier onLoadFriends) abgeschickt. Die Auswertung der Daten erfolgt nach der Beantwortung des Requests in der Callback-Funktion.
Die Daten werden aus dem erstellten Viewer-Objekt ausgelesen. Dieses Objekt stellt ein Array von Personenobjekten dar, das in unserem Fall sämtliche Freunde des Users beinhaltet. Im hier verwendeten Beispiel wird eine HTML-Liste erstellt, die als Einträge die entsprechenden Benutzer anzeigt. Ein Personenobjekt beinhaltet neben der getDisplayName-Methode (zum Abrufen des Anzeigenamens) die weitere Methode getField (zum Abrufen eines speziellen Datenfeldes).
Dabei stehen Verschiedene Feldtypen (opensocial.Person.Field) zur Verfügung, beispielsweise AGE (Alter), BOOKS (Lieblingsbücher), CURRENT_LOCATION (aktuelle Position), DATE_OF_BIRTH (Geburtsdatum), GENDER (Geschlecht) und noch zahlreiche weitere.
Anmerkung: Da der Autor MySpace nicht wirklich nutzt, sieht seine Freundesliste dort dementsprechend leer aus. Der Benutzer Tom ist übrigens ein "Standardfreund", der von MySpace bei der Anmeldung automatisch hinzugefügt wird.
Open Social – mehr Möglichkeiten
Im nächsten Teil geht es weiter mit den Möglichkeiten von Open Social. Dabei geht es nochmals um das Thema Persistenz und auch darum, wie anwendungsspezifische Daten in das Benutzerprofil gespeichert werden können. Anregungen, Fragen und Kritik werden – wie immer – in Form von Kommentaren gerne entgegengenommen und beantwortet.
André Wussow ist Fachautor und Trainer mit Schwerpunkt auf Webtechnologien und mobile Lösungen. Aktuell beschäftigt er sich mit den Social Network APIs von Facebook und OpenSocial. Sein aktuelles Buch über sichere Webanwendungen erhalten Sie im Handel.

- Best of GGGGfunden
- Casual Friday - Super Bowl, Superman und Beyonce
- Facebook stellt 60 neue Timeline-Apps vor
- Path entschuldigt sich für Datenklau und löscht heimlich gesammelte User-Infos
- Facebook-User mobilisieren sich gegen rechte Wählergruppe
- E-Mail-Beleidigung bringt Startup wieder ins Gespräch
- Soziale Netzwerke in Deutschland: Nutzerübersicht [Infografik]
- Erfolgreiches Job Recruiting via Facebook [Infografik]
- Besserer Kundenservice durch Social Media? [Infografik]
- Picozu: Photoshop-Klon im Browser-Fenster mit JavaScript, HTML5 und CSS3
- GIF me some mo'
- Liest Google meine E-Mails?
- Apple Newsstand - zu prüde für Penis-Cover
- Selection - Straßenatlas durch die deutsche Agenturlandschaft
- Safer Internet Day - Jugendliche besonders gefährdet
- Sind online Zahlungen sicher? [Infografik]
- Erfolgreich bloggen - Teil 2: Wordpress installieren
- Makaber: Steve Jobs macht Werbung für Android
- Twitter: 10.000 Tweets pro Sekunde beim Super Bowl
- Best of GGGGfunden
- Casual Friday - Siri, Big Bang und eine Welt ohne Strom
- Nach Twitter jetzt auch Blogger mit Zensur - internationale Blogging-Community adieu?
- Leiche auf Google Maps gefunden
- Facebook: Verbot für österreichische TV-Sender
- Battle of the Startup Bands - Gründer rocken die Hauptstadt
- Google, Twitter, Facebook, LinkedIn - Deine virtuellen Freunde [Infografik]
- Facebook-Börsengang: Zuckerberg legt Fakten auf den Tisch
- Twitter will Tweets länderspezifisch zensieren
- HTML5 vs Adobe Flash [Infografik]
- Facebook-Börsengang: erstmal tief stapeln

































