2010-11-09 4 views
1

J'essaie d'utiliser l'API Opensubtitles dans mon projet, mais je ne peux tout simplement pas le faire fonctionner correctement. J'utilise un wrapper appelé Ripcord, qui est finalement simple et agréable à utiliser, mais il ne supporte pas tout. Il est facile d'utiliser la méthode LogIn avec elle, mais quand searching for subtitles, je ne peux pas le faire fonctionner.Simple, mais avancé XML-RPC sur PHP?

Voici mon code dans toute sa simplicité:

include('ripcord.php'); 
$client = ripcord::client('http://api.opensubtitles.org/xml-rpc'); 
$token_from_login = $client->LogIn('username','password','lang','useragent'); //works fine 
$get = $client->SearchSubtitles($token_from_login,array('query'=>$search)); //doesn't work 

Le problème doit être le fait que Ripcord ne supporte pas un tableau. Donc, je suis à la recherche d'autres moyens de faire des appels avec facilité. Je ne connais pas encore XML-RPC. Je souhaite donc une aide constructive, car il semble que ce soit un moyen populaire de créer une API. J'ai fondamentalement besoin d'un bon exemple pour les appels XML-RPC. Je ne peux pas comprendre le manuel de PHP. Un wrapper/classe n'est pas nécessaire, si c'est assez simple sans un.

Lainé Martti

Répondre

3

Je suis l'auteur de Ripcord, il supporte les tableaux, car il utilise le code xmlrpc_encode de PHP qui le convertit automatiquement en type 'struct'.

Cependant, votre script utilise une variable non déclarée $ search, qui n'est remplie avec rien dans ce script. En supposant que vous ayez un script de travail qui remplisse cette variable, vous pouvez vérifier la réponse que vous obtenez du serveur. Vous pouvez y accéder via la propriété $ client -> _ response, après avoir appelé une méthode. Pour voir la requête xml-rpc exacte faite par le client, vérifiez la propriété $ client -> _ request.

Malheureusement, je n'ai pas pu vérifier davantage votre code, car opensubtitles.org semble avoir quelques problèmes en ce moment.

+0

Nous vous remercions de votre soutien! C'est vrai, les serveurs de Opensubtitles sont en panne la plupart du temps. En fait j'ai fait le travail de Opensubtitles sur mon site, mais il a été assez lent pour causer des problèmes avec d'autres choses. Donc, je n'ai pas besoin de xml-rps pour le moment. Cependant, vous pouvez être sûr que la prochaine fois que j'utilise xml-rpc, j'utilise Ripcord, car c'est incroyablement simple et entièrement fonctionnel. Merci. –

0

Essayez d'inclure le client xml-rpc Zend Framework - Je ne pense pas que ce serait embêtant. Il est très bien construit et je pense qu'il va résoudre le problème avec les tableaux.