איך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?
-
@שמואל-ש כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
אני רוצה עם API של גוגל ליצור אנשי קשר, יש המון תיעודים על זה, אבל רובם כבר הוצאו משימוש ועדיין לא הצלחתי למצוא פונקצייה שעדיין עובדת.
כל הבינות המלאכותיות למיניהם תקועים בהנ"ל ואחרי שאני אומר להם שזה לא עובד הם מביאים עוד משהו ועוד משהו ושום דבר כבר לא בשימוש.
מישהו יכול להביא לי דוגמא מפונקציות ליצירת אנשי קשר שעדיין עובדות?
רצוי עם גוגל סקריפט.
@צדיק-תמים @מנצפכ @מיכאלושתודה רבה מראש!
אתה כנראה מתכוון ל
ContactsApp
בגוגל סקריפט
ה API של גוגל לא הוצא משימוש https://developers.google.com/people/api/rest -
@מנצפכ כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
בתנאי שאתה מבין אותו ולומד ממנו
כמובן וכמובן!
אני רוצה לבנות לבד, אבל הנושא שם ממש מסובך (בשבילי עכ"פ)!אני גם לא חייב קוד שלם, אני צריך לפחות להבין את הכיוון איזה סוג בקשות לשלוח, מהם הפרמטרים וכו'.
כמובן שקוד מוכן יהיה יותר טוב וילמד אותי יותר טוב, אבל זה כבר תלוי בך...
-
@שמואל-ש בנטפרי אני לא יכול לבדוק אם זה עובד אבל תנסה את זה
function createFilter() { const url = "https://people.googleapis.com/v1/people:createContact"; const payload = { names: [ { familyName: "familyName", givenName: "givenName" } ], emailAddresses: [{ value: "value@gmail.com" }], }; const params = { method: "POST", contentType: "application/json", payload: JSON.stringify(payload), headers: { Authorization: "Bearer " + ScriptApp.getOAuthToken() }, muteHttpExceptions: true }; UrlFetchApp.fetch(url, params); }
תתחיל לשאול וקודם תסביר מה כן הבנת
וקח קישור יותר ספיציפי רק כהתחלה https://developers.google.com/people/api/rest/v1/people/createContact -
@מנצפכ
בקיצור, שולחים ל URL שכתוב שם מערך שכולל מערך של השמות, מערך של המייל, שולחים את זה בפוסט בפורמט ג'סון.
וכל מה ששולחים כאן זה בעצם פרמטרים מתקדמים של הפונקצייה UrlFetchApp.אז קודם כל יש שגיאה כאן שככל הנראה חסרים פרמטרים
{ "error": { "code": 403, "message": "Request had insufficient authentication scopes.", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT", "domain": "googleapis.com", "metadata": { "method": "google.people.v1.PeopleService.CreateContact", "service": "people.googleapis.com" } } ] } }
זהו השגיאה.
אז כנראה צריך גם להוסיף טוקן או משהו כזה -
תכתוב היקפים בקובץ appsscript.json
{ "timeZone": "Asia/Jerusalem", "dependencies": {}, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/contacts" ] }
-
{ "error": { "code": 403, "message": "People API has not been used in project 611599073543 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=611599073543 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.rpc.Help", "links": [ { "description": "Google developers console API activation", "url": "https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=611599073543" } ] }, { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "SERVICE_DISABLED", "domain": "googleapis.com", "metadata": { "service": "people.googleapis.com", "consumer": "projects/611599073543" } } ] } }
-
לא הצלחתי לעזור אבל הסבר קצר
בקשה
צריך לקרוא קריאת POST לכתובת https://people.googleapis.com/v1/people:createContactגוף הבקשה
גוף הבקשה מכיל מופע שלPerson
Person
אמור להכיל JSON אבל את רובו לא צריךזה המייל
EmailAddressזה השם
namesהיקפי הרשאה
ההגדרה הזו מחייבת את היקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/contacts -
@מנצפכ זה לא קשור להרשאות, צריך להפעיל את הAPI של האנשי קשר בפרויקט כדי להשתמש. ככה זה בכל (או כמעט כל) הAPI's, כולל קלנדר, גוגל דרייב, Gmail, וכו'
ובגוגל סקריפט צריך כמדומני לשייך בשביל זה את הפרויקט לפרויקט גוגל קלאוד רגיל בהגדרות -
@צדיק-תמים כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
@שמואל-ש השגיאה די ברורה, לא? אפילו נתנו לך לינק ישיר להפעלת הAPI
נכון מאוד, וכשאני נכנס לזה אני רואה
כשאני נכנס לקישור שמובא לי שם אני רואה
וכשאני לוחץ על CHECK ACCESS אני רואה
מה עכשיו?
-
@צדיק-תמים כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
@מנצפכ זה לא קשור להרשאות, צריך להפעיל את הAPI של האנשי קשר בפרויקט כדי להשתמש. ככה זה בכל (או כמעט כל) הAPI's, כולל קלנדר, גוגל דרייב, Gmail, וכו'
ובגוגל סקריפט צריך כמדומני לשייך בשביל זה את הפרויקט לפרויקט גוגל קלאוד רגיל בהגדרותזה נכון אם לא מגדירים את ההיקפים במפורש
הראיה לזה היא שאצלי זה עובד