Google PeopleApi - недопустимый аргумент метода CreateContact - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь создать контакт из своего приложения, и документация отвратительна!

Я строю контактный объект из данных, которые я получаю по форме

var contact = {
  names: [
    {
      displayName: body.name
    }
  ],
  phoneNumbers: [
    {
      value: body.phone
    }
  ],
  biographies: [
    {
      value: body.notes
    }
  ],
  userDefined: [
  {
      value: body.snif
    },
    {
      value: body.position
    },
    {
      value: body.sms
    },
    {
      value: body.whatsapp
    }
  ]
};

и пытаюсь сделатьзапрос, но я не могу понять, что не так

const service = google.people({version: 'v1', auth});
service.people.createContact({
    parent: 'people/me', 
    resource: contact
}, {}, function(err, res) {
    console.log(err)
});

, и я получаю 400 INVALID_ARGUMENTS

errors:
[ { message: 'Request contains an invalid argument.',
   domain: 'global',
   reason: 'badRequest' } ] };

Nodejs, ExpressJs

пожалуйста, что я делаю не так?

1 Ответ

0 голосов
/ 26 декабря 2018

Как насчет этой модификации?

Точки модификации:

  • Причиной ошибки является не ключ для значений.Для свойства userDefined, пожалуйста, добавьте свойство key.
    • Таким образом, вы можете получить значение, используя клавишу.

Модифицированный скрипт:

Пожалуйста, измените userDefined следующим образом.Это образцы ключей.Поэтому, пожалуйста, измените их для вашей ситуации.

userDefined: [
  {
    value: body.snif,
    key: "snif", // Added
  },
  {
    value: body.position,
    key: "position", // Added
  },
  {
    value: body.sms,
    key: "sms", // Added
  },
  {
    value: body.whatsapp,
    key: "whatsapp", // Added
  },
],

Также, если вы хотите получить ответ от API, как насчет изменения следующим образом?

service.people.createContact({
  parent: 'people/me',
  resource: contact,
}, {}, function(err, res) {
    if (err) {
      console.log(err.errors);
      return;
    }
    console.log(res.data);
});

Примечание:

  • Этот модифицированный скрипт предполагает, что вы можете использовать API и области для создания контактов.

Ссылки:

Если я неправильно понял ваш вопрос, пожалуйста, сообщите мне.Я хотел бы изменить его.

...