我尝试使用CURL php
从New Relic API获取数据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
我做错了什么?
答案 0 :(得分:1)
如果' my-api-key'不是替换您的API密钥,而是用API密钥替换它。如果是,则验证它确实是api密钥而不是许可证密钥或数据访问密钥。 API密钥可能未激活,您可以通过转到进行检查 https://rpm.newrelic.com/accounts/ACCOUNT_NUMBER/integrations?page=data_sharing (将ACCOUNT_NUMBER替换为您的帐号ID号。)
这是一个有效的例子:
#!/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 :(得分:0)
你好,你们都做得对,但是你的发送错误。它必须是下一个
$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密钥:)