2010-06-14 6 views
1

J'essaie d'incorporer des fonctionnalités Gravatar en utilisant son API XML-RPC dans une application iPhone que j'écris. J'ai attrapé le framework Cocoa XML-RPC par Eric Czarny (http://github.com/eczarny/xmlrpc) et il fonctionne bien quand je l'ai testé avec certaines des méthodes Wordpress. Cependant, lorsque j'essaie d'utiliser l'API Gravatar, je reçois toujours une réponse de "Code d'erreur: -9 Erreur d'authentification". Je pense que je suis en train de construire la requête correctement, mais je me suis cassé la cervelle et n'arrive pas à comprendre. Peut-être que quelqu'un a une certaine expérience avec cette API ou peut voir ce que je fais mal. Voici l'appel:Gravatar XML-RPC problème de demande dans Objective-C

<?xml version="1.0"> 
<methodCall> 
    <methodName>grav.addresses</methodName> 
    <params> 
    <param><value><string>PASSWORD_HERE</string></value></param> 
    </params> 
</methodCall> 

Encore une fois, le cadre XML-RPC Cocoa a fonctionné comme un rêve avec Wordpress, mais il étouffe sur l'API Gravatar pour une raison quelconque.

Merci pour votre aide.

Répondre

1

J'ai obtenu ce travail en regardant une classe PHP qui fonctionne, et en modifiant mon code Ruby pour correspondre. Ceci n'est probablement pas utile pour Objective C, alors voici le XML généré.

<?xml version="1.0" ?> 
<methodCall> 
    <methodName>grav.test</methodName> 
    <params> 
    <param><value><struct> 
     <member> 
     <name>apikey</name> 
     <value> 
      <string>API_KEY</string> 
     </value> 
     </member> 
    </struct></value></param> 
    </params> 
</methodCall> 

J'espère que cela vous sera utile. Pour un aperçu plus détaillé à mon problème particulier (Ruby), consultez http://www.thoughtsincomputation.com/posts/making-gravatar-work

Mise à jour: Notez que vous pouvez échanger le api_key votre mot de passe, mais seulement si vous changez aussi le nom < > apikey </nom > nom avec <nom> mot de passe </nom >. Cela devrait être évident, je suppose, mais ce n'était pas immédiatement le cas pour moi pour une raison quelconque.

+0

Merci! On dirait que j'ai peut-être été loin. Je vais essayer plus tard aujourd'hui et vous le faire savoir. – Erik

+0

Merci beaucoup! Cela fonctionne très bien! – Erik