LogMeIn Rest API

Хорошо, так что я нуб, когда дело доходит до APi. Я использовал api wundergrounds без проблемы. Однако я пытаюсь использовать REST API LogMeIn с php, и я должен делать что-то не так.

В инструкции сказано проверить свои учетные данные

Первый вызов должен быть GET / v1 / authentication, чтобы проверить правильность ваших учетных данных. Так, если ваш CompanyID равен 1234567890, а ваш PSK — abcde12345ABCDE12345 (обычно фактический PSK будет иметь длину 128 символов), действие может быть вызвано как:

$ curl https://secure.logmein.com/public-api/v1/authentication -i -H "Accept: application/JSON; charset=utf-8" -H "Authorization: {\"companyId\": 1234567890, \"psk\": \"abcde12345ABCDE12345\"}"

Где аргумент -H отправляет заголовок HTTP, а аргумент -i показывает заголовок ответа.

Отклик:

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 16
Content-Type: application/JSON; charset=utf-8
Server: Microsoft-IIS/7.5
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"'
X-Powered-By: ASP.NET
Date: Mon, 11 Nov 2013 15:12:57 GMT

{"success":true}

так вот мой PHP:

<?php
$json_string_LogMeIn = file_get_contents("https://secure.logmein.com/public-api/v1/authentication -i -H "Accept: application/JSON; charset=utf-8" -H "Authorization: {\"companyId\": 1234567890, \"psk\": \"abcde12345ABCDE12345\"}"");
$parsed_json_LogMeIn = json_decode($json_string_LogMeIn);
echo $parsed_json_LogMeIn;
?>

Я добавил свою балансовую единицу вместо 1234567890, а мой сгенерированный psk вместо abcde12345ABCDE12345

когда я открываю страницу php я ничего не получаю

0

Решение

file_get_contents() не работает, как вы пытаетесь, используйте cURL вместо этого, т.е.

$headers = array(
"Accept: application/JSON; charset=utf-8",
"Authorization: {\"companyId\": 1234567890, \"psk\": \"abcde12345ABCDE12345\"}",
);
$url = "https://secure.logmein.com/public-api/v1/authentication";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
# {"success":false} / which is correct since I'm using a fake Authorization

Обновить:

Похоже, вам нужно включить curl на php.ini, пожалуйста, обратитесь к эта ссылка

0

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

Поэтому я сделал несколько вещей, чтобы исправить мою проблему:

Во-первых, я обновился до более новой версии PHP 7.1.1, в которой исправлен Curl, затем я получил ошибку сертификата. Я также нашел решение для этого.

Ваш код работает, хотя я немного его включил.

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://secure.logmein.com/public-api/v1/authentication");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");$headers = array();
$headers[] = "Accept: application/JSON; charset=utf-8";
$headers[] = "Authorization: {\"companyId\": 1234567890, \"psk\": \"abcde12345ABCDE12345\"}";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
echo $result;
0

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