Ошибка: для этого метода требуется параметр 'fields' - PullRequest
0 голосов
/ 10 января 2019
Google API: Google.Apis.Requests.RequestError
The 'fields' parameter is required for this method. [400]
Errors[
Message[The 'fields' parameter is required for this method.] Location[fields - parameter] Reason[required] Domain[global]
]

Я пытаюсь использовать ресурс «О программе» в Google Drive API (.v3) и получаю сообщение об ошибке, которую, похоже, не удалось устранить, но в документации нет ответа. Я провел несколько дней безрезультатно, не понимая, что говорит мне сообщение об ошибке. Новое в использовании API. :)

P. S. oRequest. Поля не существует. Это тоже пробовал.

string result = "success";
try {
    About oRequest = driveService.About.Get().Execute();
    result = result + oRequest.User;
} catch (Exception e) {
    result = "Google API: " + e.Message;
}
textBox1.Text = result;
return result;

Обновлено: приведенный ниже код является улучшением, но в строке результата отображается "Ссылка на объект не установлена ​​на экземпляр объекта" ...: \

AboutResource.GetRequest oRequest = driveService.About.Get();
oRequest.Fields = "user:displayName, user:permissionId, user:emailAddress";
About oResponse = oRequest.Execute();
result = oResponse.User.DisplayName + " | " + oResponse.User.PermissionId + " | " + oResponse.User.EmailAddress;

Ответы [ 2 ]

0 голосов
/ 16 июля 2019

Вы также можете запросить полный пользовательский объект Google.Apis.Drive.v3.Data.User, если вы используете "user" в качестве поля.

Например:

var request = service.About.Get();
request.Fields = "user";
var user = request.Execute().User;

Вместо получения объекта полного ответа Google.Apis.Drive.v3.Data.About

0 голосов
/ 11 января 2019

Рабочий код:

string result = "success";
try {
    AboutResource.GetRequest oRequest = driveService.About.Get();
    oRequest.Fields = "*";
    About oResponse = oRequest.Execute();
    result = JsonConvert.SerializeObject(oResponse);
} catch (Exception e) {
    result = "Google API: " + e.InnerException;
}
textBox1.Text = result;
return result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...