J'intègre actuellement Box.net dans un site Web et suis resté bloqué en essayant d'accéder aux opérations après l'authentification.Box.net API V2 PHP curl 401 réponse non autorisée
Je m'authentifie correctement et récupère mon jeton. Cependant, quel que soit le jeton actif, chaque réponse que je reçois est un 401 non autorisé.
Mon code d'essai:
$header = array('Authorization: BoxAuth api_key='.$apikey.'&auth_token='.$auth);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.box.com/2.0/folders/0');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_1");
curl_setopt($curl, CURLOPT_VERBOSE, true);
//curl_setopt($curl, CURLINFO_HEADER, true);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
$res = curl_exec($curl);
if ($res === false)
{
print_r('Curl error: ' . curl_error($curl));
}
var_dump(curl_getinfo($curl));
curl_close($curl);
var_dump($res);
Demande Dump:
array(22) {
["url"]=>
string(33) "https://api.box.com/2.0/folders/0"
["content_type"]=>
string(16) "application/json"
["http_code"]=>
int(401)
["header_size"]=>
int(203)
["request_size"]=>
int(172)
["filetime"]=>
int(-1)
["ssl_verify_result"]=>
int(0)
["redirect_count"]=>
int(0)
["total_time"]=>
float(0.783732)
["namelookup_time"]=>
float(0.005711)
["connect_time"]=>
float(0.15543)
["pretransfer_time"]=>
float(0.479779)
["size_upload"]=>
float(0)
["size_download"]=>
float(171)
["speed_download"]=>
float(218)
["speed_upload"]=>
float(0)
["download_content_length"]=>
float(171)
["upload_content_length"]=>
float(0)
["starttransfer_time"]=>
float(0.783576)
["redirect_time"]=>
float(0)
["certinfo"]=>
array(0) {
}
["request_header"]=>
string(172) "GET /2.0/folders/0 HTTP/1.1
Host: api.box.com
Accept: */*
Authorization: BoxAuth api_key=xxxxxxxxxxxxxx&auth_token=xxxxxxxxxxxxxxx
"
}
Réponse:
string(171) "{"type":"error","status":401,"code":"unauthorized","help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Unauthorized","request_id":"xxxxxxxxxxxxxx"}"
Pour référence, j'ai essayé le api v1 (juste pour voir si je devais une joie) via le Box_Rest_Client écrit par Sean Rose et qui a bien fonctionné pour les opérations de base.
Toute aide/pointeur serait grandement appréciée.
Merci
Frankie
Salut Frankie, pouvez-vous confirmer que vous utilisez les mêmes API api_key et auth_token dans les requêtes V1 et V2? –
Salut John, non pas du même coup. J'ai autorisé le v1 à travers sa propre autorisation https://www.box.net/api/1.0/auth/ qui me fournit un jeton différent. J'ai aussi essayé le jeton v2 par curiosité et ça n'a pas fonctionné. –