Мы реализуем API бизнес-приложений Orange. Для этого нам нужно позвонить в службу Orange. Эта служба имеет аутентификацию по типу носителя (Oauth2). Я могу успешно получить токен доступа, и срок действия токена доступа составляет 90 дней. Используя последний токен доступа, я попытался вызвать службу Orange, отправив токен доступа в заголовке, но каждый раз получая ошибку несанкционированного доступа.
Here is code
public static function sendEventProductOrder($eventProductOrdering) {
$jsonMapper = new JsonMapper();
$opts = array('http' => array('method'=>'POST',
'header'=>'Content-type: application/x-www-form-urlencoded\r\n'.'Authorization: Bearer xxxxxxxxxxxxxxxxx\r\n',
'content' => json_encode($jsonMapper->unmap($eventProductOrdering)),
));
$context = stream_context_create($opts);
if (($stream = fopen("https://api.orange.com/mba/productordering/v2/event", 'r', false, $context)) !== false) {
$content = stream_get_contents($stream);
$header = stream_get_meta_data($stream);
fclose($stream);
return HelperMisc::isEqualIgnoreCase($header['wrapper_data']['0'], 'HTTP/1.1 201 Created');
}
return false;
}
Может ли кто-нибудь помочь мне в этом?
Спасибо за помощь!
Можете ли вы попробовать изменить цитату '
в "
? Как это:
$requestArray = [
'name' => 'User',
'age' => 100
];
'header' => "Content-type: application/x-www-form-urlencoded\r\n" .
"Authorization: Bearer xxxxxxxxxxxxxxxxx\r\n",
'content' => http_build_query($requestArray)
Так как \r\n
не работает внутри одной цитаты '
отправляет «как есть»
Других решений пока нет …