セキュリティヘッダーは、SharePoint APIを呼び出すために必須です。 AccessTokenを入手するには、ADFSまたはlogin.microsoftへの純粋なHTTP呼び出しを含むさまざまな方法がありますが、必要と思われます。
ネイティブクライアントコンテキストを使用するサンプル。また
HttpWebRequest itemRequest =
(HttpWebRequest)HttpWebRequest.Create(hostUrl + "/_api/Web/lists/getbytitle('" + listName + "')/items");
itemRequest.Method = "POST";
itemRequest.ContentLength = itemPostBody.Length;
itemRequest.ContentType = "application/json;odata=verbose";
itemRequest.Accept = "application/json;odata=verbose";
itemRequest.Headers.Add("Authorization", "Bearer " + token);
itemRequest.Headers.Add("X-RequestDigest", formDigest);
formDigest
含む
ClientContext clientContext = new ClientContext(someSharePointUrl);
clientContext.ExecutingWebRequest += delegate (object sender, WebRequestEventArgs e)
{
e.WebRequestExecutor.WebRequest.Headers["Authorization"] = string.Format("Bearer {0}", someUserToken);
};
//... then use clientContext as usual
より一般的なREST呼び出しを使用して、サンプル、その他のオプションはAppOnlyTokenを使用することですが、あなたはその後、APIへの呼び出しを偽装し、ユーザーIDを自分で管理する必要がありました!
@Alboの入力をありがとう、この問題はアクセストークンのみを取得しています。ユーザーをインターネットにリダイレクトする必要はなく、イントラネット専用のソリューションが必要です。私はADFSについてはあまりよく分かりませんが、それにどう対処するか説明してください。 –