[Zend_Rest_Client] le parametre "method" est il reservé ? desactivé le param arg1 ?
Bonjour,
Je souhaiterais utiliser le client Zend_Rest_Client pour interroger l'API pikeo.
Il semblerait que j'ai 2 soucis au niveau des parameters à envoyer à l'API Pikéo
- l'API pikéo attends le parametre method avec comme valeur pikeo_test_echo
- Zend génére le parametre "arg1" automatiquement dans la requete envoyé à l'API pikéo. Le souci est que Pikéo semblerait refuser ma requete sous prétexte qu'il y a un parametre "arg1" qu'il ne connait pas (cf mon message d'erreur dans mon exemple ci dessous)
http://dev.pikeo.com/docs/API/pikeo_test_echo
Tiré de l'exemple de l'appel de l'API pikéo, il faudrait j'envoie ce genre de parametre ...
nonce=LTExMzA2OTIzMTc0NzMzODUzMw%3D%3D
×tamp=2007-12-11T15%3A29%3A08Z
&api_key=your_api_key&api_sig=DPt8EH7Ay0IpE63N5UBvkdkNiUk%3D
&method=pikeo.test.echo
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| //initilisation des parametres :
$nonce = base64_encode ("hghg" . rand(0,99999999) . "fkfk");
$api_key = 'mon_application';
$method = 'pikeo.test.echo';
$timestamp = date('Y-m-d\TH:m:s\Z');
$secret = 'mon_code_secret';
$api_sig = base64_encode ( sha1($nonce.$timestamp.$secret) );
$client = new Zend_Rest_Client('http://api.pikeo.com/services/pikeo/v2/rest');
//passage des parametres en post
$client->method('pikeo.test.echo');
$client->nonce($nonce);
$client->timestamp($timestamp);
$client->api_key($api_key);
$result = $client->post();
echo "<pre>";
print_r($result);
echo "</pre>";
echo "<br/>resultat = " . $result->value(); |
J'obtiens comme réponse :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Zend_Rest_Client_Result Object
(
[_sxml:protected] => SimpleXMLElement Object
(
[fault] => SimpleXMLElement Object
(
[fault_code] => 5
[fault_message] => the parameter arg1 is unkown and should not be used
)
)
) |
Citation:
Vous noterez que le premier appel de $client->arg('value1'); a eu comme conséquence method=arg&arg1=value1 et arg=value1 ; ceci afin que Zend_Rest_Server puisse comprendre la demande correctement, plutôt que d'exiger la connaissance préalable du service.
http://framework.zend.com/manual/fr/...st.client.html
Est ce que le parametre "method" est reservé à Zend ?
Comment puis désactivé la génération du parametre arg1 par Zend ?