דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. פריסת סקריפט בגוגל סקריפט כאפליקציית אינטרנט דרך סקריפט אחר

פריסת סקריפט בגוגל סקריפט כאפליקציית אינטרנט דרך סקריפט אחר

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 4 כותבים 396 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מיכאלושמ מנותק
    מיכאלושמ מנותק
    מיכאלוש
    כתב ב נערך לאחרונה על ידי
    #1

    אני מעונין לפרוס סקריפט של גוגל סקריפט כאפליקציית אינטרנט (doGet) בצורה אוטומטית דרך סקריפט אחר או דרך הסקריפט עצמו ללא מגע יד אדם בכפתור...c9469a31-76b6-4f02-83c5-388839f98d67-image.png

    מחיפוש גוגל על הנושא מצאתי שדרך ה API של Google Apps Script API זה אמור להיות אפשרי
    דא עקא שבתיעוד מצאתי רק דרך לעדכן פריסה של סקריפט שנפרס בעבר אבל לא פריסה ראשונית
    אשמח לכל מידע בנושא

    .

    אבייא תגובה 1 תגובה אחרונה
    1
    • אבייא מנותק
      אבייא מנותק
      אביי
      השיב למיכאלוש ב נערך לאחרונה על ידי
      #2

      @מיכאלוש חוששני שפשוט דילגת על תחילת העמוד..
      המתודה הראשונה היא create
      https://developers.google.com/apps-script/api/reference/rest/v1/projects.deployments/create?hl=he

      ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
      הלינקיה שלי https://abaye.co/link.html

      מיכאלושמ תגובה 1 תגובה אחרונה
      2
      • מיכאלושמ מנותק
        מיכאלושמ מנותק
        מיכאלוש
        השיב לאביי ב נערך לאחרונה על ידי
        #3

        @אביי קצת הסתבכתי... איך אני כותב את זה בפועל ?

        .

        אבייא 2 תגובות תגובה אחרונה
        0
        • אבייא מנותק
          אבייא מנותק
          אביי
          השיב למיכאלוש ב נערך לאחרונה על ידי
          #4

          @מיכאלוש בגדול זה אמור להיות ככה:

          function sendRequest() {
              let apiKey = `YOUR_API_KEY`;
              let accessToken = `YOUR_ACCESS_TOKEN`;
              var url = `https://script.googleapis.com/v1/projects/scriptId/deployments?key=${apiKey}`;
              var payload = {
                  "description": "description",
                  "manifestFileName": "manifestFileName",
                  "scriptId": "scriptId",
                  "versionNumber": 0
              };
              var options = {
                  "method": "post",
                  "headers": {
                      "Authorization": "Bearer " + accessToken,
                      "Accept": "application/json",
                      "Content-Type": "application/json"
                  },
                  "payload": JSON.stringify(payload)
              };
              var response = UrlFetchApp.fetch(url, options);
              Logger.log(response.getContentText());
          }
          

          apiKey = מפתח API של גוגל קלאוד
          accessToken = אישור OAuth להרשאות היישום.

          פרטים על היקפי ההרשאות https://developers.google.com/identity/protocols/oauth2/scopes

          תצטרך חשבון כאן (חינמי, דורש פרטי אשראי)
          https://console.cloud.google.com/welcome

          בעיקרון יש לגוגל מאמרי עזרה הדרכות ודוגמאות (בעיקר באנגלית) מפורטים על כל שלב ושלב, רק שלפעמים מרוב מאמרים קצת הולכים לאיבוד...

          בשביל ההתחלה קח את העיקרון, בכל מוצר/שירות יש את המאמר של "מתחילים" או משהו דומה, שמה כתובים המושגים החדשים והישנים שצריך להכיר בשביל להבין את התיעוד, זה המסמך שהכי חשוב לקרוא כל השאר - לפי הצורך.

          אח"כ ניתן להגיע להכל דרך חיפוש גוגל או שורת החיפוש של גוגל דאב עצמו..

          ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
          הלינקיה שלי https://abaye.co/link.html

          צדיק תמיםצ תגובה 1 תגובה אחרונה
          2
          • צדיק תמיםצ מנותק
            צדיק תמיםצ מנותק
            צדיק תמים
            השיב לאביי ב נערך לאחרונה על ידי צדיק תמים
            #5

            @אביי מהו ה"apiKey = מפתח API של גוגל קלאוד" שכתבת? לא מופיע בתיעוד שאפשר להשתמש בAPI הזה בפרמטר key לאימות,
            כמה שידוע לי העיקרון הוא שאי אפשר להשתמש בשיטת אימות של key לשום API שניגש לנתונים אישיים אלא רק לAPI ציבוריים שם הkey משמש כדי לשייך להגבלות ו/או חיוב על שימוש, לדוגמה Google Maps API או Google Drive API.
            בכל API שניגש לנתונים של משתמש צריך להשתמש בOAuth 2.0 (בחלקם אפשר גם חשבון שירות).
            השימוש בOAuth 2.0 בתוך גוגל סקריפט הוא ממש פשוט - מקבלים טוקן על ידי קריאה לScriptApp.getOAuthToken:

            ...
              "headers": {
                        "Authorization": `Bearer ${ScriptApp.getOAuthToken()}`,
            ...
            

            מראי מקום:

            • דוגמה מלאה
            • https://developers.google.com/apps-script/reference/script/script-app?hl=he#getoauthtoken

            ואין צורך בפרטי אשראי בשביל להשתמש בGoogle Cloud.

            Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
            טיפים

            כ תגובה 1 תגובה אחרונה
            3
            • כ מנותק
              כ מנותק
              כמה טוב השם
              השיב לצדיק תמים ב נערך לאחרונה על ידי
              #6

              @צדיק-תמים כתב בפריסת סקריפט בגוגל סקריפט כאפליקציית אינטרנט דרך סקריפט אחר:

              ואין צורך בפרטי אשראי בשביל להשתמש בGoogle Cloud.

              הוא לא נותן לי להתקדם ללא פרטי אשראי

              צדיק תמיםצ תגובה 1 תגובה אחרונה
              0
              • צדיק תמיםצ מנותק
                צדיק תמיםצ מנותק
                צדיק תמים
                השיב לכמה טוב השם ב נערך לאחרונה על ידי
                #7

                @כמה-טוב-השם לא התייחסתי לפלטפורמת השרתים של גוגל, Google Cloud Platform (שדורשת כרטיס), אלא בכללי לשירותי הAPI שלהם, שרובם לא דורשים כלל פרטי אשראי, כולל זה שנידון כאן.
                כנראה בחרת בשירות מסוים שכן דורש פרטי אשראי, לדוגמה שרתים או שירות אחר שבתשלום.

                Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                טיפים

                תגובה 1 תגובה אחרונה
                1
                • אבייא מנותק
                  אבייא מנותק
                  אביי
                  השיב למיכאלוש ב נערך לאחרונה על ידי
                  #8

                  @מיכאלוש כתב בפריסת סקריפט בגוגל סקריפט כאפליקציית אינטרנט דרך סקריפט אחר:

                  @אביי קצת הסתבכתי... איך אני כותב את זה בפועל ?

                  זה פונקציה שיוצאת פריסה חדשה:

                  function sendRequest() {
                      var url = `https://script.googleapis.com/v1/projects/${ScriptApp.getScriptId()}/deployments`;
                      var payload = {
                          "description": "description",
                          "scriptId": ScriptApp.getScriptId()
                      };
                      var options = {
                          "method": "post",
                          "headers": {
                              "Authorization": `Bearer ${ScriptApp.getOAuthToken()}`,
                              "Accept": "application/json",
                              "Content-Type": "application/json"
                          },
                          "payload": JSON.stringify(payload),
                          "muteHttpExceptions": true
                      };
                      var response = UrlFetchApp.fetch(url, options);
                      Logger.log(response.getContentText());
                  }
                  

                  משום מה הוא מדפיס לי שגיאה בהיקף ההרשאות, לא ברור לי עדיין למה.

                  תעדכן אם הצלחת

                  ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
                  הלינקיה שלי https://abaye.co/link.html

                  מיכאלושמ תגובה 1 תגובה אחרונה
                  0
                  • מיכאלושמ מנותק
                    מיכאלושמ מנותק
                    מיכאלוש
                    השיב לאביי ב נערך לאחרונה על ידי
                    #9

                    @אביי לא יודע אם השגיאה קשורה להיקף ההרשאות אבל כמו שכתבת מחזיר שגיאה
                    הקוד שגיאה

                    {
                      "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": {
                              "service": "script.googleapis.com",
                              "method": "google.apps.script.management.v1.DeploymentsService.CreateDeployment"
                            }
                          }
                        ]
                      }
                    }
                    

                    .

                    תגובה 1 תגובה אחרונה
                    0

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום