איך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?
-
@שמואל-ש בתשלום?
כמובן אני לא דורש תשלום אבל אני גם לא עובד אצל אף אחד
בקיצור אני יכול להכין לך קוד כזה אבל בתנאי שאתה מבין אותו ולומד ממנו ואם אתה לא מבין תשאל ונענה בשמחה
@מנצפכ כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
בתנאי שאתה מבין אותו ולומד ממנו
כמובן וכמובן!
אני רוצה לבנות לבד, אבל הנושא שם ממש מסובך (בשבילי עכ"פ)!אני גם לא חייב קוד שלם, אני צריך לפחות להבין את הכיוון איזה סוג בקשות לשלוח, מהם הפרמטרים וכו'.
כמובן שקוד מוכן יהיה יותר טוב וילמד אותי יותר טוב, אבל זה כבר תלוי בך...
-
@מנצפכ כתב באיך ניתן באמצעות 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 -
@שמואל-ש בנטפרי אני לא יכול לבדוק אם זה עובד אבל תנסה את זה
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" } } ] } }
זהו השגיאה.
אז כנראה צריך גם להוסיף טוקן או משהו כזה -
@מנצפכ
בקיצור, שולחים ל 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" ] }
-
@שמואל-ש
תכתוב היקפים בקובץ 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" } } ] } }
-
{ "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 -
{ "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" } } ] } }
-
@צדיק-תמים השאלה היא למה הוא צריך בכלל הרשאה
בהפעלה של הסקריפט הוא כבר מאשר -
@צדיק-תמים כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
@שמואל-ש השגיאה די ברורה, לא? אפילו נתנו לך לינק ישיר להפעלת הAPI
נכון מאוד, וכשאני נכנס לזה אני רואה
כשאני נכנס לקישור שמובא לי שם אני רואה
וכשאני לוחץ על CHECK ACCESS אני רואה
מה עכשיו?
-
@מנצפכ זה לא קשור להרשאות, צריך להפעיל את הAPI של האנשי קשר בפרויקט כדי להשתמש. ככה זה בכל (או כמעט כל) הAPI's, כולל קלנדר, גוגל דרייב, Gmail, וכו'
ובגוגל סקריפט צריך כמדומני לשייך בשביל זה את הפרויקט לפרויקט גוגל קלאוד רגיל בהגדרות@צדיק-תמים כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
@מנצפכ זה לא קשור להרשאות, צריך להפעיל את הAPI של האנשי קשר בפרויקט כדי להשתמש. ככה זה בכל (או כמעט כל) הAPI's, כולל קלנדר, גוגל דרייב, Gmail, וכו'
ובגוגל סקריפט צריך כמדומני לשייך בשביל זה את הפרויקט לפרויקט גוגל קלאוד רגיל בהגדרותזה נכון אם לא מגדירים את ההיקפים במפורש
הראיה לזה היא שאצלי זה עובד -
@צדיק-תמים כתב באיך ניתן באמצעות API ליצור איש קשר באנשי קשר של גוגל?:
@שמואל-ש השגיאה די ברורה, לא? אפילו נתנו לך לינק ישיר להפעלת הAPI
נכון מאוד, וכשאני נכנס לזה אני רואה
כשאני נכנס לקישור שמובא לי שם אני רואה
וכשאני לוחץ על CHECK ACCESS אני רואה
מה עכשיו?
-
@צדיק-תמים שייכתי, והוא מבקש להגדיר את היקף ה OAuth.
מה אני צריך לבחור פה
?
-
@צדיק-תמים שייכתי, והוא מבקש להגדיר את היקף ה OAuth.
מה אני צריך לבחור פה
?
-
@צדיק-תמים עכשיו סוף סוף עובד לי.....
-
לא הצלחתי לעזור אבל הסבר קצר
בקשה
צריך לקרוא קריאת POST לכתובת https://people.googleapis.com/v1/people:createContactגוף הבקשה
גוף הבקשה מכיל מופע שלPerson
Person
אמור להכיל JSON אבל את רובו לא צריךזה המייל
EmailAddressזה השם
namesהיקפי הרשאה
ההגדרה הזו מחייבת את היקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/contacts