1

すべての POST の例で動作するOneNote API PHP サンプル(jamescro に感謝します!) がありますが、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);
}

情報ダンプで「エラー」を返すだけです。私は何を間違っていますか?

4

2 に答える 2

2

解決済み: Jay Ongg が指摘したように、「必要なヘッダーがあります」。より詳細なエラー チェックを追加し、401 応答コードを取得した後、以下を追加しました。

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

...そして、要求されたページにアクセスできました。

于 2015-08-27T03:55:44.863 に答える
2

特定のエラーに関する情報がないと、どの問題が発生しているのかわかりません。ここで PHP Wordpress プラグインを見てみてください: https://github.com/wp-plugins/onenote-publisher/blob/master/api-proxy.php

wp_remote_get に送信される内容を見てください - 必要なヘッダーがあります。

また、アクセス トークンを要求するときに、スコープ "office.onenote" があることを確認してください。

さらにサポートが必要な場合は、呼び出そうとしている特定の URL に関する情報と、ヘッダーの内容を追加してください。エラーがある場合は、出力を含めてください。

于 2015-08-25T05:16:47.550 に答える