Outlook の連絡先 REST API を使用してユーザーの連絡先を取得しようとしています。アクセス トークンは取得できましたが、連絡先を取得しようとすると 404 エラーが発生します。
送られてきたURLです
https://outlook.office.com/api/v1.0/me/contacts?%24select=GivenName%2CSurname%2CEmailAddresses&%24orderby=GivenName&%24top=10
とヘッダー
ユーザーエージェント: php-tutorial/1.0 Authorization: Bearer ----ここにトークン----- 受け入れる: アプリケーション/json client-request-id: ここに GUID return-client-request-id: true X-AnchorMailbox: user_email
これは、マイクロソフトのチュートリアルから直接取ったコードです。
public static function makeApiCall($access_token, $user_email, $method, $url, $payload = NULL) { // 常に送信するヘッダーのリストを生成します。 $headers = 配列( "User-Agent: php-tutorial/1.0", // User-Agent ヘッダーを送信するのがベスト プラクティスです。 "Authorization: Bearer ".$access_token, // 常に認証トークンが必要です! "Accept: application/json", // 常に JSON 応答を受け入れます。 "client-request-id: ".self::makeGuid(), // 新しい各リクエストに新しい GUID をスタンプします。 "return-client-request-id: true", // サーバーに、応答に request-id GUID を含めるように指示します。 "X-AnchorMailbox: ".$user_email // API 呼び出しのルーティングを最適化するプロバイダー ユーザーの電子メール ); $curl = curl_init($url); switch(strtoupper($method)) { ケース "GET": // 何もする必要はありません。GET がデフォルトであり、何もする必要はありません // 追加のヘッダー。 error_log("GET を実行中"); 壊す; ケース「ポスト」: error_log("POST を実行中"); // Content-Type ヘッダーを追加します (重要!) $headers[] = "コンテンツ タイプ: アプリケーション/json"; curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $payload); 壊す; ケース「パッチ」: error_log("PATCH を実行中"); // Content-Type ヘッダーを追加します (重要!) $headers[] = "コンテンツ タイプ: アプリケーション/json"; curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH"); curl_setopt($curl, CURLOPT_POSTFIELDS, $payload); 壊す; ケース「削除」: error_log("削除中"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE"); 壊す; デフォルト: error_log("無効なメソッド: ".$method); 出口; } curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($curl); error_log("curl_exec が完了しました。"); $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); error_log("リクエストがステータスを返しました".$httpCode); もし ($httpコード >= 400) { return array('errorNumber' => $httpCode, 'error' => 'リクエストが HTTP エラーを返しました '.$httpCode); } $curl_errno = curl_errno($curl); $curl_err = curl_error($curl); もし ($curl_errno) { $msg = $curl_errno.": ".$curl_err; error_log("CURL がエラーを返しました: ".$msg); curl_close($curl); return array('errorNumber' => $curl_errno, 'エラー' => $msg); } そうしないと { error_log("応答: ".$response); curl_close($curl); return json_decode($response, true); } }
誰かが私が間違ったことを言うことができますか?