curl — получить список серверов из нового реликтового API, используя переполнение стека

Я пытаюсь получить данные из 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 что я делаю не так?

1

Решение

Привет, ты все делаешь правильно, но заголовок твоего сообщения неверный. это должно быть следующим

    $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 🙂

0

Другие решения

Если 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)
?>
1

По вопросам рекламы [email protected]