Я пытаюсь получить данные из New Relic API, используя CURL php
curl -X GET 'https://api.newrelic.com/v2/servers.json' \
-H 'X-Api-Key:my-api-key' -i \
я пишу
$ch = curl_init('https://api.newrelic.com/v2/servers.json');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-Api-Key' => 'my-api-key']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
if (curl_errno($ch)) {
print "Error: " . curl_error($ch);
}
curl_close($ch);
var_dump($data);
но это не работа, а запись 403 New Relic API access has not been enabled
что я делаю не так?
Привет, ты все делаешь правильно, но заголовок твоего сообщения неверный. это должно быть следующим
$ch = curl_init('https://api.newrelic.com/v2/servers.json');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-Api-Key:my-api-key']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
if (curl_errno($ch)) {
print "Error: " . curl_error($ch);
}
curl_close($ch);
var_dump($data);
если твой my-api-key
это реальный ключ API 🙂
Если my-api-key не является заменой вашего ключа API, замените его на ключ API. Если это так, убедитесь, что это действительно ключ API, а не лицензионный ключ или ключ доступа к данным. Ключ API, вероятно, не активирован, и вы можете проверить его, перейдя в
https://rpm.newrelic.com/accounts/ACCOUNT_NUMBER/integrations?page=data_sharing
(замените ACCOUNT_NUMBER на свой номер аккаунта).
Вот рабочий пример:
#!/usr/bin/php
<?php
//Your New Relic API key
$api_key = "1234abcd1234";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.newrelic.com/v2/servers.json',
CURLOPT_HEADER => true, // Instead of the "-i" flag,
CURLOPT_HTTPHEADER => array("X-Api-Key:".$api_key)
));
$resp = curl_exec($curl);
curl_close($curl);
print_r($resp)
?>