Примечание: это дубликат моего вопроса на https://github.com/developerforce/Force.com-Toolkit-for-NET/issues/357.. Я синхронизирую обе темы после того, как это будет решено.
Я использую Инструментарий Force.com для .NET . SOQL-запросы работают нормально для меня, но я пытаюсь также сделать простой вызов REST, похожий на тот, который я могу сделать с помощью инструмента REST Explorer в https://workbench.developerforce.com/restExplorer.php.
Мой код:
using (var queryClient = new ForceClient(authClient.InstanceUrl, authClient.AccessToken, authClient.ApiVersion))
{
// Works fine
string soql = GetMyQuery();
QueryResult<dynamic> result = await queryClient.QueryAsync<dynamic>(soql);
// Throws exception. Changing version # doesn't seem to have any effect.
dynamic restResult = await queryClient.ExecuteRestApiAsync<dynamic>("/services/data/v46.0/sobjects/Task/describe");
Когда я добираюсь до ExecuteRestApiAsync, я получаю исключение:
Salesforce.Common.ForceException
HResult=0x80131500
Message=Could not find a match for URL
Source=Salesforce.Common
StackTrace:
at Salesforce.Common.JsonHttpClient.<HttpGetAsync>d__4`1.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[...]
Я предполагаю, что мой аргумент "/services/data/v46.0/sobjects/Task/describe", который отлично работает винструмент REST Explorer, должен быть изменен. Но я догадался о множестве разных опций (разные версии, с или без начальной строки URL и т. Д.), И до сих пор ничего не получилось.
Может кто-нибудь сказать мне, как использовать ForceClient дляполучить те же результаты, которые я получаю от REST Explorer Salesforce Workbench?