Je me présente, SuperIntendant, administrateur et leader de la Skyl Team, une équipe de joueurs fun basée sur le jeu Destiny, MMOFPS futuriste sur consoles de salon.
Je développe actuellement un site web (HTML/PHP/JS/CSS) pour cette équipe et je cherche de l'aide pour une intégration de l'API fournie par le studio, dans l'optique de récupérer les données des personnages des membres ainsi qu'afficher armes/inventaires de vendeurs/etc... sur les pages dédiées à cet effet.
Le problème c'est que je n'ai aucune connaissance en gestion d'API de ce genre... et le peu de documentation que je trouve n'est jamais vraiment complète à mon sens... mais peut-être que c'est parce-que je ne m'y connais pas assez.
L'API est majoritairement développée en JSON d'après ce que j'ai pu observer, je comprends le langage mais je ne le maîtrise pas encore très bien, voir même très basiquement.
Je cherche de l'aide bénévole. Je n'ai pas les moyens de payer un développeur professionnel.
- Edité par SuperIntendant 26 août 2016 à 13:45:07
Et ton array contient les champs du json exemple $aArray['statistiques'].
J'espère t'avoir un peu aidé et pas dit quelque chose que tu savais déjà
Bon courage
++
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Alors, j'ai regardé ce que vous m'avez fourni comme information, et en effet c'est très très proche de ce que Bungie a fait pour son API.
Cependant, j'ai appris que certaines fonctions de l'API nécessitent une authentification pour l'utiliser, car c'est une clé API privée. Mais je ne comprends pas bien quel type d'authentification il faut utiliser...
Je n'ai pas lu la doc de l'api de bungie mais j'imagine que c'est le même principe, tu dois ajouter à tes paramètres ta clé API. Ils ont sûrement une doc dans laquelle ils indique le nom du paramètre api_key .
Est-ce que cela t'aide ?
- Edité par Lymke 9 novembre 2015 à 14:26:53
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Je déterre ce sujet car j'ai repris le développement de mon site récemment. Merci donc aux modérateurs d'être indulgents à ce sujet.
Je ne sais pas si tu verras ce message, Lymke, mais en tout cas merci pour ton aide. Malheureusement l'API de Bungie semble fonctionner un tout petit peu différemment.
J'essaye de récupérer les informations d'inventaire des PNJ, et il s'avère que pour accéder à ce genre d'information, il faut utiliser une "simulation" d'authentification PSN ou Xbox Live sur son site.
Seulement... je ne comprends toujours pas comme intégrer cela dans mon propre projet... peut-être est-ce un peu au dessus de mes connaissances, ou alors je ne vois pas.
J'ai fait des recherches et voici ce que j'ai trouvé comme exemple d'authentification. Je m'intéresse surtout au code PHP... vu que mon site est principalement dans ce langage.
L'adresse de ton site (la version déjà disponible)
Le lien vers la documentation de l'API que tu veux intégrer (Destiny si j'ai bien compris)
Utilises tu un framework pour développer?
Sinon, utilises tu des bibliothèques tierces?
A partir de ces réponses (pas nécessairement à la première), il serait plus facile de te donner des pistes pour parvenir à tes fins en sachant où chercher, et/ou te rejoindre aussi
- J'utilise uniquement Bootstrap, pas de framework PHP, car il y a très peu de code de ce langage sur mon site... donc j'ai pas trop eu l'idée d'en utiliser un.
- Pour les bibliothèques... ben j'utilise principalement du JQuery... mais je pense pas que ce soit en rapport avec l'API, vu qu'elle est elle, en JSON.
Il ne faut pas utiliser file_get_contents mais plutôt Curl, puisque tu dois envoyer des informations dans les entêtes des requêtes vers l'api Destiny.
J'ai regardé l'api et en gros en PHP, tu dois procéder comme ça :
$key = 'Ta clé ici';
$url = 'https://www.bungie.net/platform/destiny/Vanguard/Grimoire/Definition/'; // Tu appels ici l'URL avec les services dont tu as besoin
$curl = curl_init(); // Initialise curl
curl_setopt($curl, CURLOPT_URL, $url); // Affecte l'url avec le contenu à récupérer
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // True pour que le contenu te soit retourné
curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-API-Key: ' . $key)); // Ajoute ta clé aux entêtes de la requête
$return = curl_exec($curl); // Retourne true ou false
if($return == FALSE): // Si curl_exec retourne faux
die(curl_error($curl)); // Affiche le message d'erreur et stop le script
endif;
$json = json_decode($return); // Décode le fichier json reçu en objet php
print_r($json); // Ici j'ai juste imprimé le contenu de $json, à toi d'accéder à ton objet en fonction de ce que tu auras besoin.
Mais tu peux aussi faire des requêtes ajax à l'aide de jquery pour rendre tes pages un peu plus dynamiques :
var key = "Ta clé ici";
var link = "https://www.bungie.net/platform/destiny/Vanguard/Grimoire/Definition/";
$.ajax({ // Tu démarres ici ta requête
url: link, // Url à appeler
headers: {
"X-API-Key": key // Tu définis
},
success : function(data){ // S'il n'y a pas d'erreurs
console.log(Json.parse(data)); // Ici j'affiche juste le contenu de data dans la console en le transformant en objet
})
;
J'ai réussi à faire un bout de chemin avec cette API, et merci d'ailleurs pour le début d'aide qui m'a été apporté. Seulement... maintenant je me heurt aux Private Endpoints, qui nécessitent une authentification Xbox Live (je ne suis pas sur PSN).
Il y a du code disponible en ligne pour simuler une authentification (lien-ci dessous) mais je ne vois pas du tout comment l'utiliser, et je ne trouve aucune documentation claire à ce sujet. Est-ce que quelqu'un pourrait m'éclairer afin de me débloquer ?
var_dump($resultat); // Ceci me retourne un boolean(true) de la fonction web_auth().
Mais je ne pense pas que je sois authentifié réellement... car aucun fichier de cookie ne se crée dans le répertoire où je met le fichier... et le point privé ne me retourne rien.
$apiKey = 'mykey';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'Lien vers un point privé de l\'API');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-Key: ' . $apiKey));
$vendor = json_decode(curl_exec($ch));
$table = (array) $vendor->Response;
echo "<pre>";
var_dump($table);
echo "</pre>";
Bien sûr "mykey" est remplacé par ma clé API que j'ai sur mon compte... mais n'empêche que je n'arrive toujours pas à comprendre comment m'authentifier réellement sur le site de Bungie depuis cette fonction.
Bungie a publié récemment un communiqué qui explique qu'est-ce qui doit être envoyé pour obtenir des résultats satisfaisants sur l'API... mais rien sur l'authentification... et personne sur la communauté officielle ne semble vouloir répondre à mes questions...
- Edité par SuperIntendant 15 novembre 2016 à 8:18:31
[PHP] Skyl Team - Aide pour l'API de Destiny
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.