postStatus
Beschreibung
Diese Methode setzt einen Beitrag auf der Pinnwand des Nutzers ab. Dies geschieht in Abhängigkeit des gewählten Providers.
Kommunikation zwischen
Consuming-Party Backend > allyve Backend
Request-URL
/api/sociallyve/protected/user/status
Methoden-Typ
POST
Request-Parameter
| Feld | Beschreibung |
|---|---|
| provider | Der angefragte Provider als Stringkonstante. Eine Liste der unterstützten Provider befindet sich im Kapitel 4.1. |
| uid | Die ID des Nutzers beim entsprechenden Provider. |
| t | Der Text, der auf der Pinnwand des Nutzers abgesetzt werden soll. |
| u | Die URL, die beim Klick auf den Pinnwand-Text aufgerufen werden soll (in der Regel die URL der Consuming-Party). |
| i | Die URL zu der Grafik, die in dem Pinnwandeintrag erscheinen soll. |
| providerparams | Weitere Parameter, die speziell auf den ausgewählten Provider zugeschnitten sind. Der Parameter muss als Json kodiert sein, wobei die Werte immer als String kodiert sein müssen, auch wenn sie wieder ein Json-Objekt sind. Beispiel: {description: 'Beschreibung', caption: 'Caption', privacy: '\{value : \'ALL_FRIENDS\'}'} |
| partyid | Optionaler Parameter zur Identifikation der aufrufenden Anwendung in den Statistiken |
Untersützte Paramter für “providerparams” (geordnet nach dem Provider):
| Provider | Unterstützte Parameter |
|---|---|
| - caption - description - privacy |
allyve-Backendaktivität
Backend übermittelt die Parameter für das Statusupdate an die Providerschnittstelle.
Response
HTTP-Status
Response-Parameter
keine
Mögliche Http Error Codes
| HTTP-Code | Beschreibung |
|---|---|
| 400 | Ein unbekannter Fehler ist aufgetreten. |
| 404 | Der angegebene Benutzer wurde nicht gefunden. |
| 406 | Der angegebene Provider ist unbekannt. Konflikt bei den Eingabeparametern. Dieser Fehler tritt auf, wenn fälschlicherweise auch der Parameter externalid gesetzt wurde. |
| 409 | Konflikt bei den Eingabeparametern. Dieser Fehler tritt auf, wenn fälschlicherweise auch der Parameter externalid gesetzt wurde. |
| 501 | PostStatus ist für den angegebenen Provider nicht verfügbar. |
| 503 | Fehler bei Kommunikation mit dem Provider. |
Weiterführende Informationen
Code-Beispiel: PHP
//Your application's credentials for using the allyveAPI $myAppKey = '12345678910111213'; $myAppSecret = 'IWillNeverTellThisToAnyone'; //We want to post to the user's facebook wall, so this is the API URL to use $apiUrl = 'https://api.allyve.com/api/sociallyve/protected/user/status'; //construct an array with all the neccessary parameters needed for the request to the API $params["timestamp"] = time(); $params["applicationid"] = $myAppKey; $params["provider"] = 'facebook'; $params["uid"] = 'userIdAtFacebook'; $params["t"] = 'The message that will be posted on the users wall'; $params["i"] = 'http://www.example.com/theImageUrlThatIsLinkedToTheMessage.jpg'; $params["u"] = 'http://www.yourwebsite.com/thePageTheMessageRefersTo.html'; $params["providerparams"] = "{description: 'This is an interesting message', caption: 'My message caption', privacy: '\{value : \'ALL_FRIENDS\'}'}"; //sort the parameters array alphabetically by the array keys ksort($params); //construct a temporary array, that will hold concatinated keys and values of the parameter array (key=value) $tempArray = array(); //walk over the parameter array and combine each key and value foreach ($params as $key => $value) { $tempArray[] = $key . "=" . $value; } //construct a properly formatted querystring from the combined key/values $queryStringUnsigned = implode("&", $tempArray); //construct the signature $querySignature = base64_encode(hash_hmac("sha1", $queryStringUnsigned, $myAppSecret, true)); //append the signature to the unsingend query string $queryStringSigned = $queryStringUnsigned . "&signature=" . urlencode($querySignature); //let's call the API with the help of CURL $curl = curl_init($apiUrl); curl_setopt ($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); //If you do not have alredy set up a CA cert bundle in PEM format uncomment the next line, BUT YOU SHOULD NOT DO THAT IN PRODUCTION //curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //If you have a CA cert bundle set the path to it (http://curl.haxx.se/docs/caextract.html) $pathToMyCertBundle = getcwd().'/cacert.pem'; curl_setopt($curl, CURLOPT_CAINFO, $pathToMyCertBundle); curl_setopt($curl, CURLOPT_POSTFIELDS, $queryStringSigned); curl_exec($curl); curl_close($curl);
Zuletzt aktualisiert am 5. März 2012 von admin - Anmelden

“Code-Beispiel unter Verwendung des Java-SDKs”
Hmmm, meines Wissens nach ist dieses Beispiel in PHP und nicht in Java gemacht worden. Habe ich etwas in der Java-Entwicklung verschlafen? 8-0
Vielen Dank. Da hat sich wohl der Fehlerteufel eingeschlichen.
Beste Grüße
Marcel Semmler