CURL PUT
florire
Messages postés
187
Statut
Membre
-
florire Messages postés 187 Statut Membre -
florire Messages postés 187 Statut Membre -
Bonjour,
Je dois passé le paramètres 'access_token' en JSON dans ma requête PUT.
J'ai fais plein d'essais et je n'y arrive pas..
Je n'arrive pas a envoyé cette information..
Merci de votre aide.
Je dois passé le paramètres 'access_token' en JSON dans ma requête PUT.
J'ai fais plein d'essais et je n'y arrive pas..
function joinGuild(){
$info_request = "https://discordapp.com/api/v6/guilds/518723879297/members/32789049";
$access_token = "dfdgfdgfdgfdgfdgfdgdg";
$token_type = 'Bot';
$data = array();
$data['access_token'] = $_SESSION['Auth']['access_token'];
$info = curl_init();
curl_setopt_array($info, array(
CURLOPT_URL => $info_request,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
"Authorization: $token_type {$access_token}"
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_PUT => true,
CURLOPT_POSTFIELDS => json_encode($data)
));
$guilds = json_decode(curl_exec($info));
$err = curl_error($info);
curl_close($info);
if ($err) {
echo "cURL Error #:" . $err;
} else {
print_r($guilds);
}
}
stdClass Object ( [access_token] => Array ( [0] => This field is required ) )
Je n'arrive pas a envoyé cette information..
Merci de votre aide.
3 réponses
function addRole(){
$info_request = "https://discordapp.com/api/v6/guilds/404527751954038804/members/515887327265030144/roles/409429082875494411";
$access_token = "dfdgfdgfdgfdgfdgfdgdg";
$token_type = 'Bot';
$info = curl_init();
curl_setopt_array($info, array(
CURLOPT_URL => $info_request,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: $token_type {$access_token}"
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_PUT => true
));
$guilds = json_decode(curl_exec($info));
$err = curl_error($info);
curl_close($info);
if ($err) {
echo "cURL Error #:" . $err;
} else {
print_r($guilds);
}
}
J'ai cette fonction qui fonctionne parfaitement.
La fonction
joinGuild()est une copie de celle ci.
La seule différence c'est que dans
joinGuildje dois ajouté l'envoie d'un paramètre json 'access_token' qui à pour valeur
$_SESSION['Auth']['access_token'].
doc: https://discord.com/developers/docs/resources/guild#add-guild-member
J'ai mon bot/application discord qui est dans une guild (serveur) qui à toute les permissions dont l'autorisation d'invité des personnes.
$access_tokenest le token d'accès a mon bot/application.
$_SESSION['Auth']['access_token']est le token avec l'autorisation de l'utilisateur de rejoindre une guild.
J'ai fais la requête avec
file_get_contentsest la requête fonctionne. Pourquoi avec CURL ça ne veux pas marché..
$postdata = json_encode(
array(
'access_token' => $_SESSION['Auth']['access_token'],
)
);
$api_token = "PRIVE";
$request_URL = "https://discordapp.com/api/v6/guilds/518297/members/327049";
$resultat = file_get_contents($request_URL, false, stream_context_create(array(
'http' => array(
'method' => 'PUT',
'header' =>
'Content-Type: application/json' . "\r\n"
. 'Authorization: Bot ' . $api_token . "\r\n"
. 'Content-Length: ' . strlen($postdata) . "\r\n",
'content' => $postdata
)
)));
$info_request = "https://discordapp.com/api/v6/guilds/518297/members/327049";
$access_token = "PRIVE";
$token_type = 'Bot';
$postdata = json_encode(
array(
'access_token' => $_SESSION['Auth']['access_token'],
)
);
$length = strlen($postdata);
$info = curl_init();
curl_setopt_array($info, array(
CURLOPT_URL => $info_request,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: $token_type {$access_token}",
"Content-Length: $length"
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_PUT => true,
CURLOPT_POSTFIELDS => $postdata
));
$guilds = json_decode(curl_exec($info));
$err = curl_error($info);
curl_close($info);
if ($err) {
echo "cURL Error #:" . $err;
} else {
print_r($guilds);
}
stdClass Object ( [access_token] => Array ( [0] => This field is required ) )
J'ai essayé de la mettre avant mais ça change rien.