Как использовать GET в PHP с OneNote API?

1

У меня есть образец PHP OneNote API (спасибо jamescro!), Работающий со всеми примерами POST, но нет примера GET, и мне не удалось собрать собственный код, который работает. Вот что я пробовал без успеха:

// Use page ID returned by POST
$pageID = '/0-1bf269c43a694dd3aaa7229631469712!93-240BD74C83900C17!600';
$initUrl = URL . $pageID;   
$cookieValues = parseQueryString(@$_COOKIE['wl_auth']);
$encodedAccessToken = rawurlencode(@$cookieValues['access_token']);
$ch = curl_init($initUrl);
curl_setopt($ch, CURLOPT_URL, $initUrl); // Set URL to download
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

if (! $response === false) {
    curl_close($ch);
    echo '<i>Response</i>: '. htmlspecialchars($response);
}
else {
    $info = curl_getinfo($ch);
    curl_close($ch);
    echo '<i>Error</i>: ';
    echo var_export($info);
}

Он просто возвращает "Ошибка" с информационным дампом. Что я делаю не так?

Теги:
get

2 ответа

1
Лучший ответ

Решенный: Как отметил Джей Онгг, "необходимы необходимые заголовки". После добавления более подробной проверки ошибок и получения кода ответа 401 я добавил:

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:text/html\r\n".
"Authorization: Bearer ".$encodedAccessToken));

... и может получить доступ к запрошенной странице.

2

без информации о конкретной ошибке. Я не уверен, в какую проблему вы попадаете. Попробуйте посмотреть плагин PHP Wordpress здесь: https://github.com/wp-plugins/onenote-publisher/blob/master/api-proxy.php

посмотрите, что отправлено на wp_remote_get - необходимы необходимые заголовки.

Также убедитесь, что у вас есть область "office.onenote", когда вы запрашиваете токен доступа.

Если вам нужна дополнительная помощь, добавьте информацию о конкретном URL-адресе, который вы пытаетесь вызвать, а также о содержании ваших заголовков. Если у вас есть какие-либо ошибки, включите вывод.

  • 0
    Спасибо, что указали мне в направлении плагина WP - я изучу это. У меня есть необходимый объем "office.onenote". «URL» соответствует определению в примере PHP для OneNote API, т. Е. « Onenote.com/api/v1.0/pages ». Я добавлю больше отчетов об ошибках.
  • 0
    Кстати, я обновил пример PHP, чтобы получить пример GET.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню