我正在嘗試將成員添加到組。我可以列出我組織中的所有組,通過電子郵件獲取用戶,獲取所有用戶和我甚至可以從組中刪除成員但我無法添加 - 返回的錯誤爲400 Bad Request
。圖REST添加成員到組 - 錯誤請求
這裏是一個相同的函數簽名爲那些工作中的作用:(我確實有accesstoken
,有效組ID和一個有效會員ID)
我已確認身體數據看起來是正確的,至少作爲就我所見,從example in the docs。
不知道還有什麼我可以添加到讓事情更清晰,問我會更新
public async Task<string> AddGroupMember(string accessToken, string groupId, string memberId)
{
var status = string.Empty;
string endpoint = $"https://graph.microsoft.com/v1.0/groups/{groupId}/members/$ref";
string queryParameter = "";
// pass body data
var keyOdataId = "@odata.id";
var valueODataId = $"https://graph.microsoft.com/v1.0/directoryObjects/{memberId}";
var values = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>(keyOdataId, valueODataId)
};
var body = new FormUrlEncodedContent(values);
try
{
using(var client = new HttpClient())
{
using(var request = new HttpRequestMessage(HttpMethod.Post, endpoint + queryParameter))
{
request.Content = body;
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
using(var response = await client.SendAsync(request))
{
if (response.StatusCode == HttpStatusCode.NoContent)
status = "Member added to Group";
else
status = $"Unable to add Member to Group: {response.StatusCode}";
}
}
}
}
catch (Exception ex)
{
status = $"Error adding Member to Group: {ex.Message}";
}
return status;
}
感謝您的幫助,任何人都可以提供 - 這是最後一次通話我必須做出然後回家免費
發現誰照顧知道未來的任何問題: VAR體=新FormUrl ...代碼不正確,我們需要的是一個簡單的JSON字符串 改成這樣: VAR體=新的StringContent( 「{\」 「+ keyOdataId + 」\「:\ 」「 + valueODataId + 」\「}」,編碼。 UTF8,「application/json」); 一種笨重,但作品 – Tab