簡體   English   中英

如何使用Microsoft Graph Client添加擴展名?

[英]How to add extensions using Microsoft Graph Client?

我想使用GraphClient向用戶添加擴展。 我在任何地方都找不到合適的C#代碼。 有人可以幫忙嗎?

Dictionary<string, object> addData = new Dictionary<string, object> {
    {
    "HoloFlag",
    currentUser.UserPrincipalName
    }
};

var extPatchObject = new OpenTypeExtension();

extPatchObject.ExtensionName = "com.holobeam3.extension";
extPatchObject.AdditionalData = addData;

try {
    var extension = await _graphClient
        .Me
        .Extensions
        .Request()
        .AddAsync(extPatchObject);
    Debug.Log(extension);
} catch (Exception ex) {
    Debug.Log(ex.Message);
}

這是我到目前為止嘗試過的。 這將返回“訪問被拒絕”異常,但是訪問用戶的現有擴展或其他Me端點沒有問題。

為了添加新的擴展名,請遵循以下代碼:

 _graphClient = new GraphServiceClient(new DelegateAuthenticationProvider(async requestMessage =>
            {
                requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
            }));
Dictionary<string, object> addData = new Dictionary<string, object>
                {
                    {"Key","Value" }
                };
                var extObject = new OpenTypeExtension();
                extObject.ExtensionName = "TestExtension";
                extObject.AdditionalData = addData;
                try
                {
                    await _graphClient.Users["usernamegoeshere"].Extensions.Request().AddAsync(extObject);
                }

為了獲取擴展名,請遵循以下代碼:

var userExtensions = await _graphClient.Me.Extensions["nameofExtension"].Request().GetAsync();

我添加了正確的代碼

Dictionary<string, object> addData = new Dictionary<string, object>();

addData.Add("testUpdateKey", "dataUpdateValue");

var extPatchObject = new OpenTypeExtension();

extPatchObject.ExtensionName = "TestData";

extPatchObject.AdditionalData = addData;

try

{
    graphClient.Users["usernameGoesHere"].Extensions["TestData"].Request().UpdateAsync(extPatchObject).Wait();

}
GraphServiceClient client = AuthHelper.GetAuthClient();

var currentUser = await client.Me.Request().GetAsync();
string id = currentUser.Id;

var test = await client.Me.Extensions.Request().GetAsync();

Console.WriteLine(currentUser.DisplayName);
Console.WriteLine("Click to update extension");
Console.ReadLine();

Dictionary<string, object> addData = new Dictionary<string, object>()
{
    {"Key", "Value"}
};

var extObject = new OpenTypeExtension()
{
    ExtensionName = "testExtension",
    AdditionalData = addData
};

try
{
    await client.Me.Extensions.Request().AddAsync(extObject);
}
catch (Exception ex)
{
    //
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM