Я создал проект Google Apps Script для загрузки файлов на Google Drive и создал приложение на C # для выполнения этого скрипта.Я использовал пример кода, приведенный в руководстве по документации
Однако, когда я вызываю свою функцию через API скриптов Apps, мое приложение C # вызывает следующее исключение:
System.Collections.Generic.KeyNotFoundException
: 'Указанный ключ отсутствует в словаре.'
при выполнении этой строки:
Newtonsoft.Json.Linq.JObject folderSet = (Newtonsoft.Json.Linq.JObject)op.Response["result"];
Это соответствующий код настройки:
ExecutionRequest request = new ExecutionRequest();
request.Function = "uploadDocument";
IList<Object> prms = new List<Object>();
prms.Add(name.ToString());
prms.Add(dest);
prms.Add(file);
request.Parameters = prms;
ScriptsResource.RunRequest runReq =
service.Scripts.Run(request, scriptId);
try
{
// Make the API request.
Operation op = runReq.Execute();
if (op.Error != null)
{
IDictionary<string, object> error = op.Error.Details[0];
Console.WriteLine("Script error message: {0}", error["errorMessage"]);
}
else
{
Newtonsoft.Json.Linq.JObject folderSet =
(Newtonsoft.Json.Linq.JObject)op.Response["result"];
Console.WriteLine("ok");
}
}
Если я изменяю "result" на "@type", эта ошибка отображается
Невозможно привести объект типа 'System.String' к типу 'Newtonsoft.Json.Linq.JObject'.