6

この質問は、一般的な REST サービスの呼び出しに関するものではないことに注意してください。特定の Office 365 REST サービス API についてです。

具体的には、ここで「連絡先」API を利用する必要があります: https://msdn.microsoft.com/office/office365/APi/contacts-rest-operations#UsingtheContactsRESTAPI

コンソールアプリケーションで Office 365 REST サービスをどのように利用できるか知りたいと思っていました。Web、モバイル、および Windows ストア アプリの API を処理するためのツールがあります。しかし、コンソール アプリケーションのリソースが見つかりませんでした。

ここのアプリケーション登録ポータルでアプリケーションを作成しました: https://apps.dev.microsoft.com

したがって、アプリケーション ID、アプリケーション シークレット、プラットフォーム モバイル アプリケーション (クライアント ID、リダイレクト URI) は既にあります。

認証トークンが必要になると思います(ユーザー名とパスワードを持っています)。そして、それを使用して REST サービスを呼び出します。

4

1 に答える 1

5

現在、Office 365 のメール、カレンダー、および連絡先 API では、次の 2 つのバージョンがサポートされていますv1v2

REST API v2 について

Office 365 API サービスは、Azure Active Directory (Azure AD) を使用して、ユーザーの Office 365 データに安全な認証と承認を提供します。Azure AD は、 OAuth 2.0 プロトコルに従って承認フローを実装します。

アプリケーションが Office 365 API にアクセスできるようにするには、アプリケーションを Azure AD に登録する必要があります。


APIv1バージョンの場合、Basic認証をサポートしているため、次の例は、ユーザー資格情報を使用してコンソール アプリで連絡先を読み取る方法を示しています。

class Program
{
    static void Main(string[] args)
    {
  
        ReadContacts().Wait();
    }

    private static async Task ReadContacts()
    {
        var handler = new HttpClientHandler();
        handler.Credentials = new NetworkCredential()
        {
            UserName = ConfigurationManager.AppSettings["UserName"],
            Password = ConfigurationManager.AppSettings["Password"]
        };

        using (var client = new HttpClient(handler))
        {
            var url = "https://outlook.office365.com/api/v1.0/me/contacts";
            var result = await client.GetStringAsync(url);

            var data = JObject.Parse(result);

            foreach (var item in data["value"])
            {
                Console.WriteLine(item["DisplayName"]);
            }
        }
    }
}


  
于 2016-07-27T13:00:39.947 に答える