2016-04-22 13 views
0
から始まるクエリは使用できません

アプリ専用の認証済みボットから人の検索(名前などを使用して)を実装しようとすると、ロードブロッキングに陥ります。ボットがアイデンティティを持たずにグラフを照会する方法はありますか?私はこれを行うことができます:ボットの作成、/ me/

GET "https://microsoft.graph.com/beta/users/" + userPrincipalName + "@hooli.com" 

をしかし、私はこれを行うことはできません。

GET "https://microsoft.graph.com/beta/me/people/?$search=" + "\"" + query + "\"" 

それは理にかなって、ボットは、ユーザーオブジェクトではありません。このシナリオの提案があるかどうかを確認したかっただけです。 (このボットがSharePointに公開され、最終的にSfBが実際のオプションになったときに最終的にSfBに公開されるという考えです。)

答えて

0

ボットシナリオでMicrosoft Graphに接続していることは非常に魅力的です!ここのもののカップル。まず、/ meの構文には、ユーザーがサインインしているが必要です。/ meは、現在サインインしているユーザーのエイリアスです。あなたが発見したように、このリクエストではApp-onlyは動作しません。また、ユーザーエンティティのみを使用してより基本的な検索を実行できることも発見しました。ここでは、startswith検索と「or」結合節(下記参照)を使用することで、少しスマートにできます。ただし、$検索は現在、ユーザーエンティティではサポートされていません。

GET https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'xxx') or startswith(mail, 'xxx') or startswith(userPrincipalName, 'xxx') 

第2に、エンティティエンティティは、サインインされたユーザーの観点から行われる検索です。現在のところ、アプリ専用ではできません(人々は私の下でのみサポートされています)。このAPIを通じて一般の人々の検索がサポートされるかどうかについての情報を他のユーザーに提供する必要があります。人々はまだプレビュー中です。

推奨される回避策(startswithを使用)は今のところ十分であり、より強力な$検索サポートがある場合は後で置き換えることができます。

もう1つ - ユーザーがボットと対話している場合(Webサイトやモバイルクライアントなど) - ユーザーはすでにサインインできますか?ボットはon behalf of flowを使用してボットからMS Graphを呼び出しますユーザーとして? 希望により、

関連する問題