Как получить доступ к службам мобильных приложений Azure из PHP?

Я создал приложение, которое может подключаться к веб-службам Azure. Тем не менее, я хотел бы иметь возможность доступа к данным через браузер тоже. Вместо того, чтобы использовать Почтальона, я хотел бы создать сайт PHP для этого.

Хотя база данных недоступна из внешнего Интернета (и я не планирую это менять), я хотел бы использовать ту же точку доступа, которую приложение использует для запросов, — мобильное приложение Azure. (через http: // {…} .azurewebsites.com / tables / {…})

Я провел некоторое исследование, и кто-то предложил использовать cURL, чтобы справиться с этим. Я построил некоторый код:

<?php

function CallAPI($method, $url, $data = false, $authenticate = false, $username = "", $password = "")
{
// Initializing cURL
$curl = curl_init();

// Setting headers
curl_setopt($curl, CURLOPT_HTTPHEADER, Array('ZUMO-API-VERSION: 2.0.0.', 'Accept: application/json', 'Cache-Control: no-cache'));

// Set actions based on method
switch($method)
{
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}

// Authentication
if($authenticate)
{
$auth_string = $username.":".$password;
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $auth_string);
}

// Prepare execution
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// Execution
$result = curl_exec($curl);

// Cleanup
curl_close($curl);

return $result;
}

// $url = "http://•••.azurewebsites.net/tables/users";

$result = CallAPI("GET", $url);

echo $result;

?>

Однако, когда я пытаюсь выполнить это, я получаю только этот ответ:

{"error":"An invalid API version was specified in the request, this request needs to specify a ZUMO-API-VERSION of 2.0.0."}

Как правильно вставить заголовок, чтобы получить правильный ответ? Спасибо заранее за вашу помощь.

0

Решение

Я нашел ошибку в коде. Это была простая точка слишком много:

'ZUMO-API-VERSION: 2.0.0.'

должно быть

'ZUMO-API-VERSION: 2.0.0'
1

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

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