Velojet
Velojet

Reputation: 948

How to use GET in PHP with OneNote API?

I've got the OneNote API PHP Sample (thanks jamescro!) working with all the POST examples, but there's no GET example and I haven't managed to put together code of my own that works. Here's what I've tried without success:

// 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);
}

It just returns 'Error' with an info dump. What am I doing wrong?

Upvotes: 1

Views: 647

Answers (2)

Velojet
Velojet

Reputation: 948

Solved: As Jay Ongg pointed out, "there are necessary headers that are needed". After adding more detailed error checking and getting a 401 response code, I added:

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

... and could access the requested page.

Upvotes: 2

jayongg
jayongg

Reputation: 513

without information on the specific error I'm not sure what issue you are hitting. Try looking at the PHP Wordpress plugin here: https://github.com/wp-plugins/onenote-publisher/blob/master/api-proxy.php

look at what is sent to wp_remote_get - there are necessary headers that are needed.

Also make sure you have the scope "office.onenote" when you request the access token.

If you need more help, please add information about the specific URL you are attempting to call, as well as the contents of your headers. If you have any errors, please include the output.

Upvotes: 2

Related Questions