Difference between revisions of "Registrierungs-API"

From Second Life Wiki
Jump to navigation Jump to search
m
(rm in progress notice...)
 
(6 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{:Web Services Portal/navigation/de}}
{{:Web Services Portal/navigation/de}}


{{JIRA|CT-494|'''UNDER CONSTRUCTION'''}}
== Überblick ==  
== Overview ==  


The Registration API (Reg API) enables you to register new Second Life users on your website, and set the location where they initially appear inworld after they log inWith the Reg API you can:
Die Registrierungs-API ermöglicht es Ihnen, neue Second Life Einwohner auf Ihrer Webseite anzumelden und deren Startposition festzulegenMit der Reg-API können Sie:  
* Create, manage, and track your community in Second Life.
* Ihre Community in Second Life erstellen, verwalten und verfolgen.
* Maintain your brand identity from your website through user registration and into Second Life.
* Ihre Markenidentität von der Webseite über die Registrierung bis hin zu Second Life bewahren.  


Important limitations and conditions apply. For example, you must make clear that users are establishing a relationship with Linden Lab, separate from their relationship with you.  
Bitte beachten Sie, dass wichtige Nutzungsbeschränkungen und -bedingungen gelten. Zum Beispiel, müssen Sie klarstellen, dass die Benutzer nicht nur eine Geschäftsbeziehung mit Ihnen, sondern auch eine Geschäftsbeziehung mit Linden Lab eingehen.


The Reg API is a simple [http://en.wikipedia.org/wiki/REST#RESTful_Web_services REST-style web service].   Pass information to and from the service in [[LLSD]] XML documents. Linden Lab provides libraries to parse and encode LLSD in Perl, PHP, Python, and Ruby; see [[Reg API Examples]].
Die Reg-API ist ein einfacher [http://de.wikipedia.org/wiki/Representational_State_Transfer REST-basierter Webservice]. Informationen von und an den Service werden in Form von [[LLSD]] XML-Dokumenten geliefert. Linden Lab stellt Programmbibliotheken zur Verfügung, die LLSD in Perl, PHP4 und Ruby [[Reg API Examples]] parsen und kodieren.


=== What the Reg API can do ===
=== Was die Reg-API kann ===


Use the Reg API to create Second Life accounts during the user registration process on your website.   You can customize the Second Life registration process to capture additional information or fit your registration processWhen a user registers, they choose a unique Second Life name and password. Registration provides Linden Lab with the same information provided through standard registrations on the [http://secondlife.com Second Life] website. At the end of registration, your customer must download the Second Life client, install, and run it. At that time, they will be registered with the account they created on your website and will start Second Life in a location you specify.
Verwenden Sie die Reg-API, um während des Registrierungs-Prozesses Second Life-Konten auf Ihrer Webseite zu erstellen. Sie können den Registrierungsprozess an Ihre Anforderungen anpassen, um weitere Benutzerinformationen zu erfassenWenn ein Benutzer sich registriert, wählt dieser einen einzigartigen Second Life Namen und ein Kennwort aus. Während der Registrierung werden an Linden Lab die gleichen Daten weitergeleitet, wie auch be der Standard-Registrierung auf der [http://secondlife.com Second Life]-Webseite. Wenn die Registrierung abgeschlossen ist, muss Ihr Kunde den Second Life Client (Viewer) herunterladen, installieren und ausführen. Der Benutzer wird dann mit dem Konto, das auf Ihrer Webseite erstellt wurde registriert und in Second Life an der von Ihnen festgelegten Startposition starten.  


With the Reg API, you can:
Mit der Reg-API können Sie:
* Register Second Life Residents from your website and track them.
* Second Life Einwohner auf Ihrer Webseite registrieren und verfolgen.
* Provide customized and branded registration.
* Einen kundenspezifischen und Ihrer Marke entsprechenden Registrierungsprozess gestalten.
* Send them to a location of your choice when they first log in to Second Life.
* Ihre Benutzer an eine von Ihnen ausgewählte Startposition schicken. (Beim ersten Einloggen).
* Limit accounts to your estate.
* Die Konten auf Ihrem Grundstück beschränken.  
* If Linden Lab has granted permission, limit name selection, or create accounts with a custom name.  You must request this permission separately; see [[Custom Name Program]] for more information.
* Falls von Linden Lab genehmigt, können Sie die Namensauswahl beschränken oder Konton mit einem kundenspezifischen Namen erstellen. Diese müssen Sie jedoch separat von Linden Lab anfordern, siehe [[Kundenspezifische Nachnamen]] für weitere Informationen.
* Provide registrations for your organization with internal access only, for example using an internal web site.
* Den Registrierungsprozess für Ihre Organisation nur internen Benutzern zugänglich machen. Beispielsweise über eine Intranetseite.  


=== What the Reg API cannot do ===
=== Was die Reg-API nicht kann ===
The Reg API '''does not''' provide the ability to:
Mit der Reg-API ist es nicht möglich:
* Assign new Residents to groups
* neue Einwohner zu Gruppen hinzuzufügen
* Provide inventory, create attachments, or control the Resident's outfit
* Inventar anzubieten, Anhänge zu erstellen oder das Aussehen eines Einwohners zu kontrollieren.
* Alter the appearance of the Viewer.
* Das Aussehen des Viewers verändern.
* Automatically balance load on a sim. Instead, use the Reg API to selectively set the starting location based on data sent from an LSL script in each location.
* Die Belastung einer Region automatisch auszugleichen. Sie können jedoch mit der Reg-API die Startpositionen wahlweise variieren, basierend auf Daten aus einem LSL-Skript jeder Position.  


The Reg API does not prohibit you from setting a starting location to land that you don't own. You must make sure that the owner of the landing location agrees to have the new Residents arrive there if you don't own the land.
Mit der Reg-API können Sie auch Startpositionen auf Land, das Sie nicht besitzen, festlegen. Falls Sie das Land nicht besitzen, müssen Sie jedoch vom Landbesitzer die Erlaubnis einholen, dass neue Einwohner auf seinem Land ankommen dürfen.  


=== How to participate ===
=== So können Sie teilnehmen ===
To request participation in the beta Registration API program, submit the [http://secondlife.com/solution_providers/api/reg_form.php Registration API Request Form]. Linden Lab will contact you by email after reviewing your application.
Um an der Beta-Phase des Registrierungs-API-Programms teilzunehmen, füllen Sie bitte das [http://secondlife.com/solution_providers/api/reg_form.php Bewerbungsformular für Registrierungs-API] {{nnlink/de}} aus. Linden Lab wird sich nach Überprüfung Ihrer Bewerbung mit Ihnen in Verbindung setzen.  


=== Important notices ===
=== Wichtige Hinweise ===
The RegAPI is a beta program that requires some technical proficiency to use successfully. Linden Lab does not currently provide support or technical advice on its use.  
Um das RegAPI-Betaprogramm erfolgreich zu verwenden, sind einige technische Kenntnisse erforderlich. Leider ist es Linden Lab zu Zeit nicht möglich, technischen Kundendienst für dieses Programm anzubieten.  


Accounts with Reg API capabilities that have not signed up at least one account within 90 days of receipt of the capabilities will have their Reg API access removed.
Reg API-Konten, über die innerhalb von 90 Tagen nach Erhalt der RegAPI-Rechte, nicht mindestens ein Konto registriert wurde, wird der Reg-API-Zugang entzogen.  


All participants in the Reg API program must abide by Linden Lab's [http://secondlifegrid.net/programs/api/tos API Terms Of Service].
Für die Teilnahme am Reg API-Programm gelten Linden Labs [http://secondlifegrid.net/programs/api/tos API-Servicebedingungen] {{nnlink/de}}.


=== Discussion and support ===
=== Diskussion und Kundendienst/Support ===
* Use the [[Talk:Registration API|talk page]] to post questions about the RegAPI.
* Bitte stellen Sie Fragen über die RegAPI auf  [[Talk:Registration API|talk page]].
* Use the [https://lists.secondlife.com/cgi-bin/mailman/listinfo/regapi RegAPI mailing list] to share information and send inquiries about the Reg API.
* Mitglieder der [https://lists.secondlife.com/cgi-bin/mailman/listinfo/regapi RegAPI Mailingliste] können hiermit Informationen und mehr über die Reg API mit anderen teilen.
* Although Linden Lab does not provide technical support for the Reg API, you can purchase support from third-party providers; see [[Registration API Third Party Support]].
* Obwohl Linden Lab keinen Kundendienst für die Reg API anbietet, können Sie von Drittanbietern Support erwerben. Siehe [[Registration API Third Party Support]] {{nnlink/de}}.


== General procedure ==
== Verwendung ==


To use the Reg API:
Um die Reg API zu verwenden:
# Fill out and submit the [http://secondlife.com/solution_providers/api/reg_form.php Registration API Request Form]. Linden Lab will respond by email.
# Füllen Sie das Formular [http://secondlife.com/solution_providers/api/reg_form.php Registration API Request Form] {{nnlink/de}} aus und schicken Sie es ab. Linden Lab wird sich bei Ihnen mit einer Email melden.
# Verify your capabilities using the [http://secondlife.com/developers/third_party_reg/#what_are_cap capabilities form].
# Verwenden Sie folgendes Formular, um Ihre Capabilities zu bestätigen [http://secondlife.com/developers/third_party_reg/#what_are_cap Capabilities-Formular] {{nnlink/de}}.
# Make sure you have permission from the owner of the estate where your users will appear inworld. You ''must'' have permission of the landowner (except for Linden Lab Orientation Islands).   If you have multiple registrations and need to send people to different locations, contact us to obtain additional assignments.
# Bitte vergewissern Sie sich, das der Besitzer der Region, auf welcher Ihre Benutzer inworld ankommen, Ihnen seine Zustimmung gegeben hat. Sie „müssen" über die Zustimmung verfügen (nicht für Linden Lab Orientation Islands). Falls Sie über mehrere Registrierungsprozesse verfügen und Ihre Benutzer an verschiedene Orte schicken müssen, setzen Sie sich bitte mit uns in Verbindung, damit wir die zusätzlichen Einstellungen vornehmen können.
# Create your registration web page
# Erstellen Sie Ihre Registrierungs-Seite
# If using PHP, make sure the necessary libraries are installed and working (see http://uk.php.net/phpinfo )
# Falls Sie PHP verwenden, stellen Sie bitte sicher, dass die erfordlichen Libraries ([http://de.php.net/curl php4-curl]) installiert sind und funktionieren (siehe [http://de.php.net/manual/de/function.phpinfo.php http://de.php.net/phpinfo])
# Test your registration application:
# Testen Sie Ihren Registrierungs-Vorgang:
#* Register several new users.
#* Registrieren Sie mehrere neue Benutzer.
#* If you aren't getting results you expect, check the [[Registration API Error Codes|error code]].
#* Falls Fehler auftreten, überprüfen Sie bitte die [[Registration API Error Codes|Fehlercodes]] {{nnlink/de}}.
#* Create registrations to test the most common [[Registration API Error Codes|error codes]] and verify that you receive and properly handle them appropriately.
#* Erstellen Sie Registrierungen, um die am häufigsten auftretenden [[Registration API Error Codes|Fehlercodes]] zu testen und bestätigen Sie, dass Sie diese korrekt erhalten und auf diese reagieren.  


'''WHEN TESTING'''
'''WÄHREND DER TESTPHASE'''


If you are using the Reg API to sign up registrants on the main grid, users under 18 will not be allowed to register, since they are not permitted on the Main Grid. Therefore, when testing, use a birth date that makes the registrant older than 18 years.
Wenn Sie die RegAPI für das Hauptgrid verwenden, dann werden Benutzer unter 18 Jahren sich nicht registrieren können, da diese auf dem Hauptgrid nicht erlaubt sind. Deshalb sollten Sie zum Testen ein Geburtsdatum verwenden, das über 18 Jahre zurück liegt.  


Use an email address that does not currently exist in Second Life. If a user has already registered with an email address, the Reg API will return error 95, email exists.
Verwenden Sie eine Email-Adresse, die zur Zeit nicht in Second Life existiert. Fall der Benutzer bereits eine Email-Adresse registriert hat, wird RegAPI-Fehlercode 95 ausgeben, was bedeutet, dass diese Email-Adresse bereits existiert.  
If you trap errors, you will see this error code, but if not, registration will simply fail.
Falls Sie mit einer Fehlerfalle arbeiten, wird dieser Fehler angezeigt, ansonsten wird die Registrierung einfach fehlschlagen.  


== Using capability URLs ==
== Verwendung von Capability URLs ==


Reg API [[Capabilities|capabilities]] represent permissions to perform certain actions. The Reg API grants capabilities with ''capability URLs'' of the form:
Reg API [[Capabilities|Capabilities]] stehen für Zugangsrechte, mit denen bestimmte Aktionen ausgeführt werden können. Die Reg API vergibt "Capabilites" mit Capability URLs in folgender Form:  


{{Command|<nowiki>https://cap.secondlife.com/cap/0/</nowiki>''UUID''}}
{{Command|<nowiki>https://cap.secondlife.com/cap/0/</nowiki>''UUID''}}


Where ''UUID'' is the UUID (universally unique identifier) granted for the specific capability.
Wobei ''UUID'' der UUID (universally unique identifier) ist, der für die bestimmte Capability vergeben wurde.


For example:
Zum Beispiel:


{{Command|<nowiki>https://cap.secondlife.com/cap/0/2897456b-6959-473e-9b94-36d8cec1b9c3</nowiki>}}
{{Command|<nowiki>https://cap.secondlife.com/cap/0/2897456b-6959-473e-9b94-36d8cec1b9c3</nowiki>}}


The Reg API provides capability URLs for the following operations:
Die Reg API vergibt Capability URLs für die folgenden Funktionen:
* '''create_user''' - create a new user
* '''create_user''' - neuen Benutzer erstellen
* '''check_name''' - indicates whether a user can be registered with a given Second Life first name and last name
* '''check_name''' - gibt an, ob ein Benutzer mit einem bestimmten Second Life Vor- und Nachnamen registriert werden kann.
* '''get_last_names''' - returns last names and corresponding IDs with which you are able to register new users.  
* '''get_last_names''' - gibt Nachnamen und die entsprechenden IDs aus, mit denen Sie neue Benutzer registrieren können.
* '''get_error_codes''' - returns the set of error codes
* '''get_error_codes''' - gibt die Fehlercodes aus.


For more information on these operations, see the [[Registration API Reference]].
Weitere Informationen zu diesen Funktionen siehe [[Registration API Reference]].


For example, consider the [https://www.secondlife.com/developers/third_party_reg/#what_are_cap example capabilities form] provided on the Second Life website. It requests a description of the capabilities currently granted to you.  
Nehmen wir zum Beispiel das [https://www.secondlife.com/developers/third_party_reg/#what_are_cap Capabilities-Formular] auf der Second Life-Webseite. Hierin wird eine Beschreibung der Capabilites verlangt, die Ihnen gegeben wurden.


The form POSTs your "first_name", "last_name" and "password" to https://cap.secondlife.com/get_reg_capabilities to get your capabilitiesThe actual HTML looks like this:
Das Formular schickt Ihren "first_name", "last_name" und Ihr "password" an https://cap.secondlife.com/get_reg_capabilities, um Ihre Capabilities zu erhaltenDer tatsächliche HTML-Code sieht jedoch so aus:


<html4strict><form action="https://cap.secondlife.com/get_reg_capabilities" method="POST"><br />
<html4strict><form action="https://cap.secondlife.com/get_reg_capabilities" method="POST">
<table>
  <table>
<tr><td>First Name</td><td><input name='first_name'></td></tr>
    <tr>
      <td>First Name</td>
      <td><input name='first_name'></td>
    </tr>


<tr><td>Last Name</td><td><input name='last_name'></td></tr>
    <tr>
      <td>Last Name</td>
      <td><input name='last_name'></td>
    </tr>


<tr><td>Password</td><td><input name='password' type='password'></td></tr>
    <tr>
<tr><td>&nbsp;</td></tr>
      <td>Password</td>
<tr><td align='center' colspan=2><input type='submit' value="Get Capabilities"></td></tr>
      <td><input name='password' type='password'></td>
</table>
    </tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
      <td align='center' colspan=2><input type='submit' value="Get Capabilities"></td>
    </tr>
  </table>
</form></html4strict>
</form></html4strict>


When you submit a form such as this, the Reg API returns an XML document that looks like this:
Wenn Sie ein solches Formular abschicken, dann gibt Ihnen die Reg API ein XML-Dokument zurück, das in etwas so aussieht:  


<xml><llsd>
<xml><llsd>
Line 114: Line 124:
</llsd></xml>
</llsd></xml>


This example shows that you have the "get_error_codes" capability. If instead you had been granted more capabilities, the document would look something like this:
Dieses Beispiel zeigt, dass Sie über die Capability "get_error_codes" verfügen. Wenn Sie über andere Capabilities verfügen würden, dann würde das Dokument so aussehen:  


<xml><llsd>
<xml><llsd>
Line 132: Line 142:
</llsd></xml>
</llsd></xml>


Of course, these example capabilities URLs don't actually work.
Diese Capabilities URLs sind natürlich nur als Beispiel gedacht und funktionieren nicht wirklich.  


=== Using LLSD with the Reg API ===
=== Verwendung von LLSD mit der Reg API ===


Use [[LLSD]] XML data format to send and get information to and from capability URLs. Here is an example of a typical LLSD XML message:
Mit dem [[LLSD]] XML Datenformat werden Informationen an die Capability URLs gesendet und auch von diesen angefordert. Hier ein Beispiel einer typischen LLSD XML-Nachricht:  


<xml><llsd>
<xml><llsd>
   <map>
   <map>
     <key>dob</key><string>1987-07-06</string>
     <key>dob</key>
     <key>start_region_name</key><string>da boom</string>
    <string>1987-07-06</string>
     <key>username</key><string>mistaht</string>
   
     <key>last_name_id</key><integer>1872</integer>
     <key>start_region_name</key>
     <key>password</key><string>123456</string>
    <string>da boom</string>
     <key>email</key><string>ben@ben.com</string>
 
     <key>username</key>
    <string>mistaht</string>
 
     <key>last_name_id</key>
    <integer>1872</integer>
 
     <key>password</key>
    <string>123456</string>
 
     <key>email</key>
    <string>ben@ben.com</string>
   </map>
   </map>
</llsd></xml>
</llsd></xml>


This document represents a map (hash) containing keys for:
Dieses Dokument stellt ein [http://de.wikipedia.org/wiki/Hashtabelle Hashtabelle] dar und enthält Keys für:
* dob
* dob ('''d'''ate '''o'''f '''b'''irth/Geburtsdatum)
* start_region_name
* start_region_name
* username
* username
Line 157: Line 178:
* email
* email


This document is a typical LLSD XML message that you might POST to the "create_user" capability URL to create a new user.
Dieses Dokument ist eine typische LLSD XML-Nachricht, die Sie eventuell an die "create_user" Capability-URL schicken, um einen neuen Benutzer einzurichten.  


The LLSD specification specifies many different data types: Map, Array, String, Integer, Float, Date, and so on. Each data type corresponds to a native object type in most languages.
Die LLSD-Spezifikation beschreibt viele verschiedene Datentypen: Map, Array, String, Integer, Float, Date, und so weiter. Jeder Datentyp entspricht in den meisten Sprachen einem nativen Objekttypen.


The LLSD XML libraries handle most of the work of encoding native objects into LLSD XML and vice-versa. For example, you can use the Ruby library as follows:
Die LLSD XML-Bibliotheken wandeln die nativen Objekte in LLSD XML Code und umgekehrt um. Zum Beispiel, können Sie die Ruby-Bibliothek wie folgt verwenden:  


<ruby> require 'LLSD'
<ruby> require 'LLSD'
   
   
  native_obj = 123
  native_obj = 123
  llsd_xml = LLSD.to_xml(native_obj) # returns <llsd><integer>123</integer></llsd>
  llsd_xml = LLSD.to_xml(native_obj) # Gib zurück: <llsd><integer>123</integer></llsd>
  returned_native_obj = LLSD.parse(llsd_xml) # returns native ruby integer, 123</ruby>
  returned_native_obj = LLSD.parse(llsd_xml) # Gibt den nativen Ruby Integer 123 zurück</ruby>


If you have problems encoding and decoding LLSD, look at the actual LLSD XML being sent and received to start debugging.
Falls Sie Problem mit der Typumwandlung von LLSD haben, sehen Sie sich den LLSD XML-Code an, der gesendet und empfangen wird, um das Debugging zu starten.


== Limiting accounts to an estate==
== Konten auf einem Grundstück begrenzen ==
You can use the Reg API to limit registrants to the estate of the registrar (the account that controls the registration).   You must use the estate ID for the limited_to_estate parameter when creating the account. See [[/Registration_API_Reference#create_user|create_user]]for detals.   
Die Reg API ermöglicht es Ihnen, die Anzahl der sich registrierenden Personen auf dem Grundstück des Kontoinhabers (Registrators) zu begrenzen. Hierzu muss bei der Kontoerstellung die Grundstücks-ID für den Parameter limited_to_estate verwendet werden. Für weitere Details siehe [[/Registration_API_Reference#create_user|create_user]].   


To find your estate Code (as of March 16th 09):
So finden Sie Ihren Grundstückscode (Stand 16. März 2009):
# {{KeyCombo|ctrl=*|alt=*|shift=*|D}} to enable the extra pull-down [[advanced menu]].
# {{KeyCombo|ctrl=*|alt=*|shift=*|D}}, um das zusätzliche Pulldown-[[advanced menu]] {{nnlink/de}} zu aktivieren.
# Then use Advanced > View Admin Options (near the bottom).
# Klicken Sie auf  Advanced > View Admin Options (unten in der Liste).
# From new pull-down menu Admin, select God Tools.
# Wählen Sie aus dem Menü Admin '''God Tools''' aus.
# Look at the Region tabThe Estate ID is listed there.  
# Klicken Sie auf die Registerkarte '''Region'''Die Grundstücks-ID wird hier angezeigt.  


=== Accounts can't access estate ===
=== Konten, die keinen Zugang zum Grundstück haben ===
If you're setting registration to 'restrict to estate' and people can't enter your estate, realize that if you've set access controls to require group membership to enter, the new registrations won't be able to enter your estate.
Wenn Sie die Registrierung auf "restrict to estate" (auf Grundstück beschränken) einstellen und Benutzer zu ihrem Grundstück keinen Zugang haben, kann dies daran liegen, dass Sie in der Zugangskontrolle festgelegt haben, dass Benutzer Mitglieder einer bestimmten Gruppe sein müssen, um Zugang zu erhalten. Ihre neu registrierten Benutzer werden deshalb eventuell keinen Zugang zu Ihrem Grundstück haben.


If you want to restrict access to groups, you may need to subdivide and create a parcel that has no restrictions on your estate and set your landing area there, then add them to the group(s) to be able to access the rest of the Estate.
Wenn Sie den Zugang auf Gruppen beschränken möchten, müssen Sie möglicherweise das Land unterteilen, und eine Parzelle schaffen, für die keine Beschränkungen gelten. Hier sollte sich das Landegebiet befinden. Ihre Benutzer sollten dann zu der oder den Gruppen hinzugefügt werden, damit Sie Zugang zum gesamten Grundstück haben.  


== Guidelines and tips ==
== Richtlinien und Tipps ==


* Make sure you're using the account that was enabled for the Registration API to create accounts.
* Bitte verwenden Sie das Konto, das für die Reg API zur Erstellng von Konten aktiviert wurde
* You must use the Registration API to create additional accounts, not the Viewer or the secondlife.com registration page.
* Um zusätzliche Konten zu erstellen, müssen Sie die Registrierungs-API verwenden, nicht den Viewer oder die Registrierungsseite auf [https://join.secondlife.com/?lang=de-DE secondlife.com].
* Verify you've including your capabilities url (get it at [http://secondlife.com/developers/third_party_reg/#what_are_cap What are Capability URLs]) and properly set up your account and the location in the script
* Bestätigen Sie, dass Sie Ihre Capabilites URL (diese bekommen Sie unter [http://secondlife.com/developers/third_party_reg/#what_are_cap Was sind Capability URLs]) mit einschließen, Ihr Konto richtig einrichten, sowie die Position im Skript.
* Check for [[Registration API Error Codes | error codes]]
* Überprüfen Sie, ob  [[Registration API Error Codes | Fehlercodes]] vorliegen
* [https://lists.secondlife.com/cgi-bin/mailman/listinfo/regapi Join the Reg API mailing list] for additional information and troubleshooting help.
* [https://lists.secondlife.com/cgi-bin/mailman/listinfo/regapi Treten Sie der Reg API Mailing-Liste] bei, um weitere Informationen und auch Hilfe bei der Fehlerbehebung zu erhalten.  


When using capability URLs, follow these guidelines:
Bitte befolgen Sie folgende Richtlinien, wenn Sie Capabilites-URLs verwenden:  


* Add code to capture and display returned error codes; this will assist you in troubleshooting problems.
* Fügen Sie Code hinzu mit dem Sie Fehlercodes erfassen und anzeigen können. Dies ist für die Fehlerbehebung hilfreich.
* Do not hard-code your capabilities URLs. Either code your capabilities URLs as constants, or better yet, obtain them at run-time. Capability URLs will expire eventually, so fresh ones are always better.
* Sie sollten Ihre Capabilites-URLs nicht fest in Ihren Code einbinden. Fügen Sie diese entweder als Konstanten oder, was noch besser ist, erfassen Sie diese während der Laufzeit. Capability URLs werden irgendwann ungültig, deshalb ist es immer besser, die aktuellsten zu verwenden.  
* Keep your capability URLs secret! The capabilities granted to you are only meant for you. A capability URL is sensitive much like a password. Moreover, Linden Lab tracks the use of each capability.
* Halten Sie Ihre Capability-URLs geheim! Diese URLs sind nur für Ihren Gebrauch vorgesehen! Bei einer Capability-URL handelt es sich genau wie bei einem Kennwort um vertrauliche Information. Linden Lab verfolgt die Verwendung einer jeder Capability-URL.  


'''If using PHP''':
'''Falls Sie PHP verwenden''':


* The LLSD library has not been tested with PHP5, and is known NOT to work with many common configurations of PHP5. We expect to have and improved version of it available soon, which will be compatible with PHP4 and PHP5. In the meantime, if you have to use PHP5, some folks report using this adapter successfully:  http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
* Die LLSD Programmbibliothek wurde nicht mit PHP5 getestet, es ist wohl bekannt, dass sie mit vielen häufig verwendeten Konfigurationen von PHP5 NICHT funktioniert. Wir hoffen sehr bald eine verbesserte Version verfügbar zu haben. Diese wird mit PHP4 und PHP5 kompatibel sein. Falls Sie in der Zwischenzeit PHP5 verwenden, einige Benutzer haben uns berichtet, dass dieser Adapter gut funktioniert:  http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
* Or if you like living dangerously, try [[RegAPI_for_PHP5]].
* Oder, falls Sie das Risiko lieben, versuchen Sie es mit [[RegAPI_for_PHP5]].
* Make sure the Curl library is installed and running.
* Vergewissern Sie sich, dass die Curl-Programmbibliothek installiert ist und läuft.  


[[Category:RegAPI| RegAPI]]
[[Category:RegAPI| RegAPI]]

Latest revision as of 12:11, 5 October 2009

Überblick

Die Registrierungs-API ermöglicht es Ihnen, neue Second Life Einwohner auf Ihrer Webseite anzumelden und deren Startposition festzulegen. Mit der Reg-API können Sie:

  • Ihre Community in Second Life erstellen, verwalten und verfolgen.
  • Ihre Markenidentität von der Webseite über die Registrierung bis hin zu Second Life bewahren.

Bitte beachten Sie, dass wichtige Nutzungsbeschränkungen und -bedingungen gelten. Zum Beispiel, müssen Sie klarstellen, dass die Benutzer nicht nur eine Geschäftsbeziehung mit Ihnen, sondern auch eine Geschäftsbeziehung mit Linden Lab eingehen.

Die Reg-API ist ein einfacher REST-basierter Webservice. Informationen von und an den Service werden in Form von LLSD XML-Dokumenten geliefert. Linden Lab stellt Programmbibliotheken zur Verfügung, die LLSD in Perl, PHP4 und Ruby Reg API Examples parsen und kodieren.

Was die Reg-API kann

Verwenden Sie die Reg-API, um während des Registrierungs-Prozesses Second Life-Konten auf Ihrer Webseite zu erstellen. Sie können den Registrierungsprozess an Ihre Anforderungen anpassen, um weitere Benutzerinformationen zu erfassen. Wenn ein Benutzer sich registriert, wählt dieser einen einzigartigen Second Life Namen und ein Kennwort aus. Während der Registrierung werden an Linden Lab die gleichen Daten weitergeleitet, wie auch be der Standard-Registrierung auf der Second Life-Webseite. Wenn die Registrierung abgeschlossen ist, muss Ihr Kunde den Second Life Client (Viewer) herunterladen, installieren und ausführen. Der Benutzer wird dann mit dem Konto, das auf Ihrer Webseite erstellt wurde registriert und in Second Life an der von Ihnen festgelegten Startposition starten.

Mit der Reg-API können Sie:

  • Second Life Einwohner auf Ihrer Webseite registrieren und verfolgen.
  • Einen kundenspezifischen und Ihrer Marke entsprechenden Registrierungsprozess gestalten.
  • Ihre Benutzer an eine von Ihnen ausgewählte Startposition schicken. (Beim ersten Einloggen).
  • Die Konten auf Ihrem Grundstück beschränken.
  • Falls von Linden Lab genehmigt, können Sie die Namensauswahl beschränken oder Konton mit einem kundenspezifischen Namen erstellen. Diese müssen Sie jedoch separat von Linden Lab anfordern, siehe Kundenspezifische Nachnamen für weitere Informationen.
  • Den Registrierungsprozess für Ihre Organisation nur internen Benutzern zugänglich machen. Beispielsweise über eine Intranetseite.

Was die Reg-API nicht kann

Mit der Reg-API ist es nicht möglich:

  • neue Einwohner zu Gruppen hinzuzufügen
  • Inventar anzubieten, Anhänge zu erstellen oder das Aussehen eines Einwohners zu kontrollieren.
  • Das Aussehen des Viewers verändern.
  • Die Belastung einer Region automatisch auszugleichen. Sie können jedoch mit der Reg-API die Startpositionen wahlweise variieren, basierend auf Daten aus einem LSL-Skript jeder Position.

Mit der Reg-API können Sie auch Startpositionen auf Land, das Sie nicht besitzen, festlegen. Falls Sie das Land nicht besitzen, müssen Sie jedoch vom Landbesitzer die Erlaubnis einholen, dass neue Einwohner auf seinem Land ankommen dürfen.

So können Sie teilnehmen

Um an der Beta-Phase des Registrierungs-API-Programms teilzunehmen, füllen Sie bitte das Bewerbungsformular für Registrierungs-API (en) aus. Linden Lab wird sich nach Überprüfung Ihrer Bewerbung mit Ihnen in Verbindung setzen.

Wichtige Hinweise

Um das RegAPI-Betaprogramm erfolgreich zu verwenden, sind einige technische Kenntnisse erforderlich. Leider ist es Linden Lab zu Zeit nicht möglich, technischen Kundendienst für dieses Programm anzubieten.

Reg API-Konten, über die innerhalb von 90 Tagen nach Erhalt der RegAPI-Rechte, nicht mindestens ein Konto registriert wurde, wird der Reg-API-Zugang entzogen.

Für die Teilnahme am Reg API-Programm gelten Linden Labs API-Servicebedingungen (en).

Diskussion und Kundendienst/Support

  • Bitte stellen Sie Fragen über die RegAPI auf talk page.
  • Mitglieder der RegAPI Mailingliste können hiermit Informationen und mehr über die Reg API mit anderen teilen.
  • Obwohl Linden Lab keinen Kundendienst für die Reg API anbietet, können Sie von Drittanbietern Support erwerben. Siehe Registration API Third Party Support (en).

Verwendung

Um die Reg API zu verwenden:

  1. Füllen Sie das Formular Registration API Request Form (en) aus und schicken Sie es ab. Linden Lab wird sich bei Ihnen mit einer Email melden.
  2. Verwenden Sie folgendes Formular, um Ihre Capabilities zu bestätigen Capabilities-Formular (en).
  3. Bitte vergewissern Sie sich, das der Besitzer der Region, auf welcher Ihre Benutzer inworld ankommen, Ihnen seine Zustimmung gegeben hat. Sie „müssen" über die Zustimmung verfügen (nicht für Linden Lab Orientation Islands). Falls Sie über mehrere Registrierungsprozesse verfügen und Ihre Benutzer an verschiedene Orte schicken müssen, setzen Sie sich bitte mit uns in Verbindung, damit wir die zusätzlichen Einstellungen vornehmen können.
  4. Erstellen Sie Ihre Registrierungs-Seite
  5. Falls Sie PHP verwenden, stellen Sie bitte sicher, dass die erfordlichen Libraries (php4-curl) installiert sind und funktionieren (siehe http://de.php.net/phpinfo)
  6. Testen Sie Ihren Registrierungs-Vorgang:
    • Registrieren Sie mehrere neue Benutzer.
    • Falls Fehler auftreten, überprüfen Sie bitte die Fehlercodes (en).
    • Erstellen Sie Registrierungen, um die am häufigsten auftretenden Fehlercodes zu testen und bestätigen Sie, dass Sie diese korrekt erhalten und auf diese reagieren.

WÄHREND DER TESTPHASE

Wenn Sie die RegAPI für das Hauptgrid verwenden, dann werden Benutzer unter 18 Jahren sich nicht registrieren können, da diese auf dem Hauptgrid nicht erlaubt sind. Deshalb sollten Sie zum Testen ein Geburtsdatum verwenden, das über 18 Jahre zurück liegt.

Verwenden Sie eine Email-Adresse, die zur Zeit nicht in Second Life existiert. Fall der Benutzer bereits eine Email-Adresse registriert hat, wird RegAPI-Fehlercode 95 ausgeben, was bedeutet, dass diese Email-Adresse bereits existiert. Falls Sie mit einer Fehlerfalle arbeiten, wird dieser Fehler angezeigt, ansonsten wird die Registrierung einfach fehlschlagen.

Verwendung von Capability URLs

Reg API Capabilities stehen für Zugangsrechte, mit denen bestimmte Aktionen ausgeführt werden können. Die Reg API vergibt "Capabilites" mit Capability URLs in folgender Form:

https://cap.secondlife.com/cap/0/UUID

Wobei UUID der UUID (universally unique identifier) ist, der für die bestimmte Capability vergeben wurde.

Zum Beispiel:

https://cap.secondlife.com/cap/0/2897456b-6959-473e-9b94-36d8cec1b9c3

Die Reg API vergibt Capability URLs für die folgenden Funktionen:

  • create_user - neuen Benutzer erstellen
  • check_name - gibt an, ob ein Benutzer mit einem bestimmten Second Life Vor- und Nachnamen registriert werden kann.
  • get_last_names - gibt Nachnamen und die entsprechenden IDs aus, mit denen Sie neue Benutzer registrieren können.
  • get_error_codes - gibt die Fehlercodes aus.

Weitere Informationen zu diesen Funktionen siehe Registration API Reference.

Nehmen wir zum Beispiel das Capabilities-Formular auf der Second Life-Webseite. Hierin wird eine Beschreibung der Capabilites verlangt, die Ihnen gegeben wurden.

Das Formular schickt Ihren "first_name", "last_name" und Ihr "password" an https://cap.secondlife.com/get_reg_capabilities, um Ihre Capabilities zu erhalten. Der tatsächliche HTML-Code sieht jedoch so aus:

<html4strict><form action="https://cap.secondlife.com/get_reg_capabilities" method="POST">

First Name <input name='first_name'>
Last Name <input name='last_name'>
Password <input name='password' type='password'>
 
<input type='submit' value="Get Capabilities">

</form></html4strict>

Wenn Sie ein solches Formular abschicken, dann gibt Ihnen die Reg API ein XML-Dokument zurück, das in etwas so aussieht:

<xml><llsd>

 <map>
   <key>get_error_codes</key>
   <string>https://cap.secondlife.com/cap/0/e2fd05e0-d4f0-4f04-8805-fdc1bd4e9ea2</string>
 </map>

</llsd></xml>

Dieses Beispiel zeigt, dass Sie über die Capability "get_error_codes" verfügen. Wenn Sie über andere Capabilities verfügen würden, dann würde das Dokument so aussehen:

<xml><llsd>

 <map>
   <key>create_user</key>
   <string>https://cap.secondlife.com/cap/0/35ff3b8c-a30d-4d18-b29a-e3f7f6c79cb6</string>
   
   <key>check_name</key>
   <string>https://cap.secondlife.com/cap/0/6e528ba1-a8b0-4f6b-8b56-362ee6f5cef8</string>
   
   <key>get_last_names</key>
   <string>https://cap.secondlife.com/cap/0/be4e4d2e-c00a-46cd-bb8d-d17cb8e92c9b</string>
   
   <key>get_error_codes</key>
   <string>https://cap.secondlife.com/cap/0/e75f81a5-b7da-4480-8f95-b1cf9d2d680f</string>
 </map>

</llsd></xml>

Diese Capabilities URLs sind natürlich nur als Beispiel gedacht und funktionieren nicht wirklich.

Verwendung von LLSD mit der Reg API

Mit dem LLSD XML Datenformat werden Informationen an die Capability URLs gesendet und auch von diesen angefordert. Hier ein Beispiel einer typischen LLSD XML-Nachricht:

<xml><llsd>

  <map>
    <key>dob</key>
    <string>1987-07-06</string>
    
    <key>start_region_name</key>
    <string>da boom</string>
    <key>username</key>
    <string>mistaht</string>
    <key>last_name_id</key>
    <integer>1872</integer>
    <key>password</key>
    <string>123456</string>
    <key>email</key>
    <string>ben@ben.com</string>
  </map>

</llsd></xml>

Dieses Dokument stellt ein Hashtabelle dar und enthält Keys für:

  • dob (date of birth/Geburtsdatum)
  • start_region_name
  • username
  • last_name_id
  • password
  • email

Dieses Dokument ist eine typische LLSD XML-Nachricht, die Sie eventuell an die "create_user" Capability-URL schicken, um einen neuen Benutzer einzurichten.

Die LLSD-Spezifikation beschreibt viele verschiedene Datentypen: Map, Array, String, Integer, Float, Date, und so weiter. Jeder Datentyp entspricht in den meisten Sprachen einem nativen Objekttypen.

Die LLSD XML-Bibliotheken wandeln die nativen Objekte in LLSD XML Code und umgekehrt um. Zum Beispiel, können Sie die Ruby-Bibliothek wie folgt verwenden:

require 'LLSD'

native_obj = 123
llsd_xml = LLSD.to_xml(native_obj) # Gib zurück: <llsd><integer>123</integer></llsd>
returned_native_obj = LLSD.parse(llsd_xml) # Gibt den nativen Ruby Integer 123 zurück

Falls Sie Problem mit der Typumwandlung von LLSD haben, sehen Sie sich den LLSD XML-Code an, der gesendet und empfangen wird, um das Debugging zu starten.

Konten auf einem Grundstück begrenzen

Die Reg API ermöglicht es Ihnen, die Anzahl der sich registrierenden Personen auf dem Grundstück des Kontoinhabers (Registrators) zu begrenzen. Hierzu muss bei der Kontoerstellung die Grundstücks-ID für den Parameter limited_to_estate verwendet werden. Für weitere Details siehe create_user.

So finden Sie Ihren Grundstückscode (Stand 16. März 2009):

  1. Strg-Alt-⇧ Shift-D, um das zusätzliche Pulldown-advanced menu (en) zu aktivieren.
  2. Klicken Sie auf Advanced > View Admin Options (unten in der Liste).
  3. Wählen Sie aus dem Menü Admin God Tools aus.
  4. Klicken Sie auf die Registerkarte Region. Die Grundstücks-ID wird hier angezeigt.

Konten, die keinen Zugang zum Grundstück haben

Wenn Sie die Registrierung auf "restrict to estate" (auf Grundstück beschränken) einstellen und Benutzer zu ihrem Grundstück keinen Zugang haben, kann dies daran liegen, dass Sie in der Zugangskontrolle festgelegt haben, dass Benutzer Mitglieder einer bestimmten Gruppe sein müssen, um Zugang zu erhalten. Ihre neu registrierten Benutzer werden deshalb eventuell keinen Zugang zu Ihrem Grundstück haben.

Wenn Sie den Zugang auf Gruppen beschränken möchten, müssen Sie möglicherweise das Land unterteilen, und eine Parzelle schaffen, für die keine Beschränkungen gelten. Hier sollte sich das Landegebiet befinden. Ihre Benutzer sollten dann zu der oder den Gruppen hinzugefügt werden, damit Sie Zugang zum gesamten Grundstück haben.

Richtlinien und Tipps

  • Bitte verwenden Sie das Konto, das für die Reg API zur Erstellng von Konten aktiviert wurde
  • Um zusätzliche Konten zu erstellen, müssen Sie die Registrierungs-API verwenden, nicht den Viewer oder die Registrierungsseite auf secondlife.com.
  • Bestätigen Sie, dass Sie Ihre Capabilites URL (diese bekommen Sie unter Was sind Capability URLs) mit einschließen, Ihr Konto richtig einrichten, sowie die Position im Skript.
  • Überprüfen Sie, ob Fehlercodes vorliegen
  • Treten Sie der Reg API Mailing-Liste bei, um weitere Informationen und auch Hilfe bei der Fehlerbehebung zu erhalten.

Bitte befolgen Sie folgende Richtlinien, wenn Sie Capabilites-URLs verwenden:

  • Fügen Sie Code hinzu mit dem Sie Fehlercodes erfassen und anzeigen können. Dies ist für die Fehlerbehebung hilfreich.
  • Sie sollten Ihre Capabilites-URLs nicht fest in Ihren Code einbinden. Fügen Sie diese entweder als Konstanten oder, was noch besser ist, erfassen Sie diese während der Laufzeit. Capability URLs werden irgendwann ungültig, deshalb ist es immer besser, die aktuellsten zu verwenden.
  • Halten Sie Ihre Capability-URLs geheim! Diese URLs sind nur für Ihren Gebrauch vorgesehen! Bei einer Capability-URL handelt es sich genau wie bei einem Kennwort um vertrauliche Information. Linden Lab verfolgt die Verwendung einer jeder Capability-URL.

Falls Sie PHP verwenden:

  • Die LLSD Programmbibliothek wurde nicht mit PHP5 getestet, es ist wohl bekannt, dass sie mit vielen häufig verwendeten Konfigurationen von PHP5 NICHT funktioniert. Wir hoffen sehr bald eine verbesserte Version verfügbar zu haben. Diese wird mit PHP4 und PHP5 kompatibel sein. Falls Sie in der Zwischenzeit PHP5 verwenden, einige Benutzer haben uns berichtet, dass dieser Adapter gut funktioniert: http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
  • Oder, falls Sie das Risiko lieben, versuchen Sie es mit RegAPI_for_PHP5.
  • Vergewissern Sie sich, dass die Curl-Programmbibliothek installiert ist und läuft.