Как получить конкретную c информацию из API в переменную? - PullRequest
0 голосов
/ 02 августа 2020

У меня есть выходные данные API:

{"id":"usr_3290ad77-a2d8-40da-9edf-21e624c23f27","username":"knuffelbeestje","displayName":"KnuffelBeestje","bio":"Working on a new worldǃ\nDC Hub is coming soon to community labsǃ","bioLinks":["https://steamcommunity.com/id/KnuffelBeestje","https://twitch.tv/knuffeldiertje"],"currentAvatarImageUrl":"https://api.vrchat.cloud/api/1/file/file_d66e4e65-6ce7-4321-8770-1c70840adfa9/1/file","currentAvatarThumbnailImageUrl":"https://api.vrchat.cloud/api/1/image/file_d66e4e65-6ce7-4321-8770-1c70840adfa9/1/256","tags":["show_social_rank","system_trust_basic","system_avatar_access","system_world_access","language_nld","language_eng"],"developerType":"none","last_login":"","last_platform":"standalonewindows","allowAvatarCopying":false,"isFriend":false,"friendKey":"","location":"","worldId":"offline","instanceId":"offline"}int(1) 1

Как я его получил:

$curl = curl_init('https://api.vrchat.cloud/api/1/users/KnuffelBeestje/name? 
apiKey=JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: Basic PrivateKey']);
$apicontent = curl_exec($curl);
curl_close($curl);

var_dump(json_decode($apicontent, true));

(ключ API - publi c, не беспокойтесь). Я хочу сохранить «биографию» в переменной в PHP, как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 02 августа 2020

Вам нужно что-то вроде этого

$curl = curl_init('https://api.vrchat.cloud/api/1/users/KnuffelBeestje/name?apiKey=JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26');
curl_setopt($curl, CURLOPT_HTTPHEADER,[
    'Authorization: Basic PrivateKey'
]);
$apicontent = curl_exec($curl);
curl_close($curl);

$content = json_decode($apicontent, true);
$id = $content['id'];
$username = $content['username'];
$bio = $content['bio'];
0 голосов
/ 02 августа 2020

Попробуйте следующее:

$curl = curl_init('https://api.vrchat.cloud/api/1/users/KnuffelBeestje/name? 
apiKey=JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: Basic PrivateKey']);
$apicontent = curl_exec($curl);
curl_close($curl);

// Passing true means we want an associative array
$data = json_decode($apicontent, true)

var_dump($data['bio']);

Вы также можете использовать это как объект JSON:

$curl = curl_init('https://api.vrchat.cloud/api/1/users/KnuffelBeestje/name? 
apiKey=JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: Basic PrivateKey']);
$apicontent = curl_exec($curl);
curl_close($curl);

// Not passing true as the second param. We'll have an object.
$data = json_decode($apicontent)

var_dump($data->bio);
0 голосов
/ 02 августа 2020

Функция json_decode возвращает ассоциативный массив. Это означает, что вы можете добавить к нему ['bio'] и получить значение для биографии (или, конечно, любое другое значение). Затем просто сохраните его в переменной, например

$bio = json_decode($apicontent, true)['bio'];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...