[GAS] Daten aus Google Sheets zu Contacs hinzufügen

Xiaolong

Lieutenant
Registriert
Sep. 2008
Beiträge
937
Liebe CB-Gemeinde,

ich habe hier so ein kleines Problem mit den GAS (Google App Scripts). Ich würde gerne aus einem Google Sheet, welches viele Daten hat, diese in die Kontakte des Google Kontos übertragen.

Da die ContactsAPI ja obsolet ist, muss das Ganze über die PeoplesAPI laufen. Um die Daten rüberzuschaufeln, habe ich mal ein TestScript erstellt, aber nicht einmal das funktioniert.

Javascript:
function addContactsFromSheet() { //(first_name, last_name, email, phone, agency) {

  first_name = "Xiao";
  last_name = "Test";
  email = "xiao@test.xx";
  phone = "+49123456789";
  agency = "TestAgency";

  var contact = {
    names: [{
      givenName: first_name,
      familyName: last_name
    }],
    emailAddresses: [{
      value: email,
      type: "home"
    }],
    phoneNumbers: [{
      value: phone,
      type: "mobile"
    }],
    userDefined: [{
      key: "Agency",
      value: agency
    }]
  };

  var resource = {
    contactPerson: contact
  };

  try {
    var createdContact = People.createContact(contact);
    Logger.log("Contact created: " + createdContact);
  } catch (error) {
    Logger.log("Error creating contact: " + error.message);
  }

}

Die Daten kommen später aus dem Sheet, das ist nur die Testfunktion. Führe ich diese aus, erhalte ich folgendes Log:
Code:
22:13:15    Hinweis    Ausführung begonnen
22:13:16    Info    Error creating contact: People is not defined
22:13:17    Hinweis    Ausführung abgeschlossen

Hierbei ist es egal ob ich PeopleAPI.createContact(), People.createContact(), PeopleAPI.People.createContact() verwende, der Fehler bleibt immer der gleiche. Format nach Google Dokumentation wird eingehalten. Im Debugger, sieht bis zu der Zeile das Objekt "resource" auch genau so aus wie es soll, es wird halt nur nicht von createContact(), geschluckt. Einer von euch vielleicht eine Idee?

Beste Grüße,
Xiao


2023-07-17 22_35_47-DataHandling - Projekt-Editor - Apps Script – Opera.png

Klarstellung: verwende ich: PeopleAPI.People.createContact() erhalte ich diesen Fehler:

Code:
22:34:44    Hinweis    Ausführung begonnen
22:34:44    Info    Error creating contact: PeopleAPI.createContact is not a function
22:34:45    Hinweis    Ausführung abgeschlossen
 
Zuletzt bearbeitet:
Push, Niemand eine Idee?
 
Xiaolong schrieb:
var createdContact = People.createContact(contact);
Wie ist People hinterlegt ?

Xiaolong schrieb:
Klarstellung: verwende ich: PeopleAPI.People.createContact() erhalte ich diesen Fehler:

22:34:44 Info Error creating contact: PeopleAPI.createContact is not a function
Angeblicher Aufruf und Fehlermeldung passen m.M.n. nicht zusammen.
 
Xiaolong schrieb:
Ich habe die Methode people.createContact() aus der PeopleAPI
Ja du, aber du musst doch auch im Code oder direkten Umgebung definieren was People bedeutet. In den Screenshots ist nur ein DienstAlias PeopleAPI zu sehen.
Deswegen wie von dir erwähnt sicherlich eher:
Xiaolong schrieb:
... PeopleAPI.createContact(), People.createContact(), PeopleAPI.People.createContact(

Xiaolong schrieb:
Du schreibst wiederkehrend "PeopleAPI" , die API heißt doch aber "people".
Sodaß ich bei der "Kennzeichnung" innerhalb von "Peopleapi" statt "PeopleAPI" "people" erwarten würde.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Xiaolong
Da hast du natürlich vollkommen recht.... Manchmal übersieht man das offensichtlichste, war schon spät :)

Danke, funktioniert!
 
Zurück
Oben