Я использую C # (.NET Core) с Bot Framework v4 для разработки службы бота.Я новичок в Bot Framework.
Суть проблемы заключается в следующем: - Подавать большие пальцы вверх и вниз в конце каждого сообщения для обратной связи.- Когда пользователь нажимает на большие пальцы вниз, получить соответствующие документы из Sharepoint.- Показать список загруженных документов в виде карусели в окне чата.
Я смог сделать это с помощью версии 3 .NET SDK.Однако у меня возникают проблемы с его репликацией в версии 4 платформы - у нас нет пакета NuGet для SharePoint CSOm, доступного для .NET Core.следовательно добавил dlls как предложено в https://rajujoseph.com/getting-net-core-and-sharepoint-csom-play-nice/
public static async Task<List<SearchContent>> SearchContent(string queryText, short resultCount)
{
List<SearchContent> searchResult = new List<SearchContent>();
string SiteUrl = "https:--";
try
{
using (ClientContext clientContext = new ClientContext(SiteUrl))
{
// AccessPolicyEntry ape= getAccessPolicies();
if (SpUserName == string.Empty || SpUserPass == string.Empty)
{
await GetKeyVaultSecret();
}
SecureString securePassword = GetSecureString(SpUserPass);
clientContext.Credentials = new SharePointOnlineCredentials(SpUserName, securePassword);
KeywordQuery keywordQuery = new KeywordQuery(clientContext);
keywordQuery.RowLimit = 5;
keywordQuery.SummaryLength = 3000;
keywordQuery.QueryText = queryText + " site:\"https://----/Deploy\"";
SearchExecutor searchExecutor = new SearchExecutor(clientContext);
ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);
clientContext.ExecuteQuery();
short counter = 0;
foreach (var oResultRow in results.Value[0].ResultRows)
{
if (counter < resultCount)
{
counter++;
string optimizeSummary = OptimizeContent(queryText, oResultRow["HitHighlightedSummary"].ToString());
searchResult.Add(new SearchContent() { Title = oResultRow["Title"].ToString(), Summery = optimizeSummary, Path = oResultRow["Path"].ToString() });
}
else
{
break;
}
}
}
}
catch (Exception ex)
{
searchResult = null;
ExceptionUtility.LogException(ex, "SharePointSearchService.SearchContent");
}
return searchResult;
}