Интеграция Estimote API

поэтому я пытаюсь интегрировать Estimote API, чтобы перенести список маяков в мою личную CMS, я столкнулся с проблемой, что я получаю сообщение «Несанкционировано», которое я прочитал через Api docs, и General — Authorization — это тот, который я могу, так как я беру с собой маяки, которые есть в моей учетной записи в облаке, вот пример запроса curl, что я могу получить список маяков, выполнив это:

curl -u app_0a1b2c3d4e:0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d \
-H 'Accept: application/json' \
https://cloud.estimote.com/v1/beacons

Проблема в том, что я пытался сделать это, и он говорит, что в целом я должен использовать App ID и App Token для авторизации моих запросов

header('Content-Type: application/json');

$app_id = "appid";
$token = "token";
$ch = curl_init('https://cloud.estimote.com/v1/beacons?appid='.$appId.'&apptoken='.$token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));

$result = curl_exec($ch);

print_r($result);
curl_close($ch);

какие-либо идеи о том, что я делаю не так?
https://cloud.estimote.com/docs/#api-Beacons-GetBeacons

3

Решение

То, что вы делаете, пытается отправить поля сообщения с запросом получения.

Вы можете удалить эту строку curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

В документации https://cloud.estimote.com/docs/#api-General-Authorization он говорит, что вам нужно отправить свой appid в качестве имени пользователя и токен в качестве пароля. В curl у вас есть такая опция.

Попробуй это

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://cloud.estimote.com/v1/beacons');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$appid:$token");
$output = curl_exec($ch);
curl_close($ch);
2

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

Других решений пока нет …