Я надеюсь, что кто-то может мне помочь, я пытаюсь создать приложение для Android xamarin, которое подключается к офису 365, чтобы вытащить контактную информацию. учебное пособие, за которым я следую, можно найти, если вы google «поместите какой-то офис 365 в свои приложения» и откройте первую ссылку. Автор - Маюр Тендулкар.Проверка подлинности Xamarin.Android Office 365
Я могу добавить подключенную услугу к своему приложению и все сборки, хотя примеры файлов cs, видимые на скриншоте для шага 4 из учебника (ActiveDirectorApiSample, CalendarApiSample и т. Д.), Не добавляются в мой проект: http://i.imgur.com/olLfjoN.png
При попытке добавить EnsureClientCreated() метод Visual Studio предупреждает меня, что пространство имен Authenticator не удалось найти, поэтому я стараюсь и добавить его:
http://i.imgur.com/JSRc3ha.png
Я заметил, что Visual Studio пытается добавить с помощью Xamarin. Auth, но если я проверю исходный код из учебника Я следую ссылку Xamarin.Auth не существует:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.Office365.Exchange;
using Microsoft.Office365.OAuth;
using System.Linq;
namespace O365Client
{
[Activity(Label = "O365 Client", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : ListActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
GetMessages (this);
}
const string ExchangeResourceId = "https://outlook.office365.com";
const string ExchangeServiceRoot = "https://outlook.office365.com/ews/odata";
public async Task<IEnumerable<IMessage>> GetMessages(Context context)
{
var client = await EnsureClientCreated(context);
var messageResults = await (from i in client.Me.Inbox.Messages
orderby i.DateTimeSent descending
select i).ExecuteAsync();
MyGlobalDeclaration.Messages = messageResults.CurrentPage.ToList();
ListAdapter = new HomeScreenAdapter(this, MyGlobalDeclaration.Messages);
return messageResults.CurrentPage;
}
private async Task<ExchangeClient> EnsureClientCreated(Context context)
{
Authenticator authenticator = new Authenticator(context);
var authInfo = await authenticator.AuthenticateAsync(ExchangeResourceId);
return new ExchangeClient(new Uri(ExchangeServiceRoot), authInfo.GetAccessToken);
}
protected override void OnListItemClick (ListView l, View v, int position, long id)
{
var bodyActivity = new Intent (this, typeof(MessageBodyActivity));
bodyActivity.PutExtra ("Id", v.Tag.ToString());
StartActivity (bodyActivity);
}
}
}
Если я использую Xamarin.Auth то визуальные ошибки студии с: Не удается создать экземпляр абстрактного класса или интерфейса «Xamarin.Auth.Authenticator»
может кто-нибудь подтвердить, как я могу разрешить ошибки аутентификатора?