2015-02-23 6 views
0

Я надеюсь, что кто-то может мне помочь, я пытаюсь создать приложение для 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»

может кто-нибудь подтвердить, как я могу разрешить ошибки аутентификатора?

ответ

0

Похоже, что это сообщение в блоге основано на более ранней версии инструментов Visual Studio и библиотек Xamarin. Попробуйте образец OfficeDev GitHub: https://github.com/OfficeDev/XamarinAndroidO365.

Смежные вопросы