すべて単一の Office 365 環境内で、Dynamics CRM 2013 プラグインから SharePoint 2013 への認証を試みています。最終的に、Dynamics CRM から SharePoint に電子メールの添付ファイルをコピーしようとしています (Post Email Attachment Create Async)。これまでのところ、この旅には多くの障害がありました。
- クライアント ID とシークレットを取得するために AppRegNew.aspx に移動しました。
- Web リクエストを作成して情報を投稿しまし
mycompanyname.sharepoint.com/_layouts/15/OAuthAuthorize.aspx
たが、403 Forbidden エラーが発生します。 - Sharepoint.Client.dll を Dynamics CRM Online に展開できないため、CSOM を使用できません
- リクエスト パラメータの範囲がどうあるべきかわかりません
ここに私がこれまでに持っているものからのコードの抜粋があります:
string clientId = "myclientid";
string clientSecret = "asecretstring";
this.request = string.Format("grant_type=client_credentials&client_id={0}&client_secret={1}&scope=list.read", Uri.EscapeDataString(clientId), Uri.EscapeDataString(clientSecret));
WebRequest webRequest = WebRequest.Create(OAuthUri);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(this.request);
webRequest.ContentLength = bytes.Length;
using (Stream outputStream = webRequest.GetRequestStream())
{
outputStream.Write(bytes, 0, bytes.Length);
}
using (WebResponse webResponse = webRequest.GetResponse())
{
// get token from the response
}
2 つの Office 365 システム間の認証について、何らかの方向性を示していただければ幸いです。