私はOutlookのMicrosoftメールアカウントを持っています。私は正常にMicrosoft 365 APIを使用して、ログインユーザーを認証しています。私はMSAロギングユーザーの詳細を取得することができました。Microsoft Graph 365 Rest APIを使用してユーザープロファイルを更新する方法
ここでは、MSAのドキュメントを使用してログインユーザーの情報を更新します。 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_update Appsアプリケーション側のすべての権限を設定しました。
私は、更新するパラメータは、jobTitle、mobilePhone、officeLocation
を含んで、私は以下のコードを実行し、以下の
{ "error": { "code": "BadRequest", "message": "Request type is not supported.", "innerError": { "request-id": "9659c539-d7c6-433f-9e9a-9d78a25570b3", "date": "2017-11-30T11:26:57" } } }
コード
<?php
session_start();
echo $acc= $_SESSION['access_token'];
echo '<br>cow<br>';
echo $_SESSION['preferred_username'];
echo $_SESSION['given_name'];
$data_string = array("jobTitle" => 'eLECTRICAL eNGINEER', "mobilePhone" => "15087561" , "officeLocation" => "Montario");
$data = json_encode($data_string);
//$data = $data_string;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://graph.microsoft.com/v1.0/users/[email protected]",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "UPDATE",
CURLOPT_POSTFIELDS => "$data",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Bearer $acc",
"content-type: application/json; charset=utf-8"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
print_r($response);
$json = json_decode($response);
//$res = $json->{'items'};
if ($err) {
echo "cURL Error #:" . $err;
} else {
//echo $response;
}
?>
でエラーが生じています問題がCURLリクエストのURLかどうかわかりません。助けてください