. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Artikel
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

November 2008

Open Social – Social Gadgets


Fortsetzung, Teil 2

(Link zum Artikel: http://www.createordie.de/cod/artikel/2031)

Open Social – Show me my friends
  1. <div id='main'>
  2. Deine Freunde:
  3. <div id='friends'></div>
  4. </div>
  5. <script type='text/javascript'>
  6. function init() {
  7. loadFriends();
  8. }
  9. function loadFriends() {
  10. var req = opensocial.newDataRequest();
  11. req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS'), 'viewerFriends');
  12. req.send(onLoadFriends);
  13. }
  14. function onLoadFriends(data) {
  15. var viewerFriends = data.get('viewerFriends').getData();
  16. html = new Array();
  17. html.push('<ul>');
  18. viewerFriends.each(function(person) {
  19. html.push('<li>' + person.getDisplayName() +
  20. '<br /><img src="' +
  21. person.getField(opensocial.Person.Field.THUMBNAIL_URL) +
  22. '" alt=""/></li>');
  23. });
  24. html.push('</ul>');
  25. document.getElementById('friends').innerHTML = html.join('');
  26. }
  27. init();
  28. </script>
(Listing 1: Generation einer Freundesliste in Open Social)

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.

 

andere Artikel dieser Serie
Kommentare
Bisher keine Kommentare
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
opensocial