#php #api
#php #API
Вопрос:
Я вхожу здесь в учетную запись: https://sandbox.simpro.co
В setup / applications я создал новое приложение. Тип доступа Прямой доступ, метод подписи HMAC-SHA1
В файле, на который указывает «Application URI», у меня есть это:
$headers = array(
'Host: sandbox.simpro.co',
'Authorization: OAuth,oauth_version="1.0",
oauth_nonce="1d0c9d11a944b2439cf867f32d59d21b",
oauth_timestamp="1355952869",
oauth_consumer_key="sandbox-simpro-......",
oauth_signature_method="HMAC-SHA1Access",
oauth_signature="....."',
'Content-Type: application/json',
'Accept: application/json'
);
$url = 'https://sandbox.simpro.co/api/oauth/access_token.php';
$context = array(
'http' => array(
'content' => $content,
'header' => implode("rn", $headers) . "rn",
'method' => $method,
'timeout' => 10.0,
'ignore_errors'=>false
)
);
$response = file_get_contents(
$url, false,
stream_context_create($context));
if ($response === false){
var_dump("<hr><pre>Request Failed", array('url'=>$url, 'method'=>$method, 'headers'=>$headers, 'content'=>$content),'</pre>');
}
Ничего не работает. Я знаю, что все делаю неправильно, но на https://api.simpro.co / там нет примера PHP. Я просто не понимаю, как собрать все вместе.
Как мне подключиться к SimPro API с помощью php?
Обновить:
Это то, что я получаю в своем скрипте:
Warning: file_get_contents(https://sandbox.simpro.co/api/oauth/access_token.php) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 501 Not Implemented in /.../index.php on line 64
string(23) "
Request Failed"
array(4) {
["url"]=>
string(52) "https://sandbox.simpro.co/api/oauth/access_token.php"
["method"]=>
string(4) "post"
["headers"]=>
array(4) {
[0]=>
string(23) "Host: sandbox.simpro.co"
[1]=>
string(318) "Authorization: OAuth,oauth_version="1.0",
oauth_nonce="1d0c9d11a944b2439cf867f32d59d21b",
oauth_timestamp="1355952869",
oauth_consumer_key="sandbox-simpro-.....",
oauth_signature_method="HMAC-SHA1Access",
oauth_signature="...........""
[2]=>
string(30) "Content-Type: application/json"
[3]=>
string(24) "Accept: application/json"
}
["content"]=>
string(0) ""
}
string(6) "
Я понимаю, что я неправильно описываю свою проблему, потому что у меня проблемы с пониманием этого API. Тогда, пожалуйста, дайте мне ссылку на php-скрипт, откуда взята эта часть https://api.simpro.co / используется:
Запросить токен https://buildname.simpro.co/api/oauth/request_token.php
Авторизация https://buildname.simpro.co/oauth/authorize.php
Токен доступа https://buildname.simpro.co/api/oauth/access_token.php
Я просто хочу перечислить клиентов с помощью PHP и SimPro.
Комментарии:
1. «Ничего не работает» не является хорошим описанием проблемы. Вам все равно, что говорить, если
$response
естьfalse
(и, в таком случае, какие сообщения об ошибках печатаютсяvar_dump()
). Мы даже не можем попробовать сами, потому что это одноразовый код авторизации с отсутствующей подписью.2. Можете ли вы использовать
file_get_contents()
для загрузки чего-либо еще (напримерhttp://php.net
)? Вы включили полное сообщение об ошибках?
Ответ №1:
Возможно, стоит взглянуть на пример кода, который мы предоставляем на GitHub:
https://github.com/simPRO-Software/simpro-api-php
Этот пример PHP включает в себя базовое подключение к SimPro API с использованием OAuth и простой запрос данных.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или помощь.
Комментарии:
1. можем ли мы использовать simpro api в .net?