需要访问Sharepoint在线Addin Rest API而不进行Azure广告注册

时间:2019-06-21 10:55:51

标签: xamarin sharepoint-online sharepoint-rest-api sharepoint-addin

我需要一个共享点外接程序来创建xamarin应用程序。因此需要访问所有共享点在线Rest API。

根据Microsoft文档,我们需要在Azure AD上注册应用程序。

我不想在Azure AD中注册应用,我已经添加了共享点

我已经尝试了Microsoft提供的MSAL和ADAL库进行访问。要使用它们,我们需要在Azure AD上注册应用。

这是我编写的用于访问直接共享点剩余API的代码。

private const string GetCalendarEventsUrl = "{tenant}/_api/web/lists/getbytitle('Project')/items?$top=4900";

public List<CalendarEvent> GetCalendarEvents()
        {
            var username = "{tenant}.onmicrosoft.com";
            var password = "{password}";
            var domain = "{domain}";
            var handler = new HttpClientHandler();
            handler.Credentials = new System.Net.NetworkCredential(username, password, domain);

            using (var client = new HttpClient(handler))
            {
                using (var request = new HttpRequestMessage(HttpMethod.Get, new Uri(GetCalendarEventsUrl)))
                {
                    request.Headers.Add("Accept", "application/json;odata.metadata=minimal");
                    using (var response = client.SendAsync(request).Result){
                        if (response.IsSuccessStatusCode) {
                              Console.WriteLine("response");
                        }
                    }
                }
            }

            throw new Exception("Could not get calendar events");
        }

我可以直接访问共享点在线Rest API吗?

1 个答案:

答案 0 :(得分:0)

您无法直接从移动设备访问Sharepoint rest api。

这是我的发现:-

A-您需要创建自己的Web服务,该服务将通过Sharepoint联机Web API进行身份验证并进行部署,然后您必须使用移动应用程序连接到新创建的Web服务才能获取和更新数据。 您可以从此链接中找到正确的说明

https://www.codemag.com/Article/1411031/Mobile-Apps-for-SharePoint-and-Office-365-Part-1

B-另一种方法是,您可以添加新应用,创建新应用并使用自己的自定义逻辑注册到Azure AD,以与Sharepoint在线Rest api进行交互 您可以从此链接中找到正确的说明

https://docs.microsoft.com/en-gb/azure/active-directory/develop/app-types

如果有帮助,请告诉我