VPN ಮೂಲಕ Apps Script ನಿಮ್ಮ ಆಂತರಿಕ ಅಪ್ಗೆ ಏಕೆ ತಲುಪಲಾರದು
Apps Script Google ನ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, VPN ಇರುವ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಅಲ್ಲ. ವಿನಂತಿ ಕಳುಹಿಸುವ ಯಂತ್ರಕ್ಕೆ ದತ್ತಾಂಶ ಮಾರ್ಗವನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಿ.
ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಲ್ಯಾಪ್ಟಾಪ್ನ ಬ್ರೌಸರ್ನಲ್ಲಿ ಚೆನ್ನಾಗಿ ತೆರೆಯುತ್ತದೆ, ಆದರೆ ಅದೇ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಸ್ಕ್ರಿಪ್ಟ್ ವಿಳಾಸ ಲಭ್ಯವಿಲ್ಲ ಎಂಬ ದೋಷದೊಂದಿಗೆ ವಿಫಲವಾಗುತ್ತದೆ. VPN ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡುವುದರಿಂದ ಏನೂ ಬದಲಾಗುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ವಿನಂತಿ ಲ್ಯಾಪ್ಟಾಪ್ನಿಂದಲೇ ಹೊರಬರುವುದಿಲ್ಲ. Apps Script Google ನ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಅಲ್ಲಿಂದ ತನ್ನದೇ ಸಂಪರ್ಕವನ್ನು ತೆರೆಯುತ್ತದೆ. ಆ ಒಂದು ಸತ್ಯವೇ ಇಡೀ ವಿನ್ಯಾಸವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಎರಡು ಪ್ರಶ್ನೆಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ: ಯಾವ ಯಂತ್ರ ವಿನಂತಿ ಕಳುಹಿಸುತ್ತದೆ, ಮತ್ತು ಸ್ವೀಕರಿಸುವವರು ಯಾವ ರುಜುವಾತನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ.
ವಿನಂತಿ ಎಂದಿಗೂ ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ
ಬ್ರೌಸರ್ ಟ್ಯಾಬ್ ಲ್ಯಾಪ್ಟಾಪ್ನಿಂದ, VPN ಅಡಾಪ್ಟರ್, ಆಂತರಿಕ DNS ಉತ್ತರಾರ್ಥದ ಮೂಲಕ ಖಾಸಗಿ ಉಪಜಾಲಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ. UrlFetchApp Google ನಿರ್ವಹಿಸುವ ಹೋಸ್ಟ್ನಿಂದ ಕಳುಹಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದು Google ನ ಪರಿಹಾರಕಗಳನ್ನು, Google ನ ನಿರ್ಗಮನ ವಿಳಾಸಗಳನ್ನು ನೋಡುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ಪ್ಲಿಟ್-ಟನಲ್ ಮಾರ್ಗಗಳಲ್ಲಿ ಒಂದನ್ನೂ ನೋಡುವುದಿಲ್ಲ. ಎರಡೂ ಮಾರ್ಗಗಳು ಸ್ಪ್ರೆಡ್ಶೀಟ್ ದಾಖಲೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ, ಜಾಲ ಸ್ಥಳವನ್ನಲ್ಲ. ಅಪ್ನ ಪ್ರವೇಶ ಲಾಗ್ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ನ ಪ್ರಯತ್ನ VPN ಪೂಲ್ನ ವಿಳಾಸವಾಗಿ ಅಲ್ಲ, Google ವಿಳಾಸವಾಗಿ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಅದೇ ನೀವು ಪಡೆಯುವ ವೇಗದ ದೃಢೀಕರಣ.
ಆದ್ದರಿಂದ ಸ್ಥಳೀಯ ಸರಿಪಡಿಸುವಿಕೆಗಳು ಏನೂ ಮಾಡುವುದಿಲ್ಲ. ಲ್ಯಾಪ್ಟಾಪ್ ಅನ್ನು ಬೇರೆ ಪರಿಹಾರಕಕ್ಕೆ ತೋರಿಸುವುದು, VPN ಕ್ಲೈಂಟ್ ಮರುಪ್ರಾರಂಭಿಸುವುದು ಅಥವಾ hosts ನಲ್ಲಿ ನಮೂದು ಸೇರಿಸುವುದು ಬ್ರೌಸರ್ನ ಮಾರ್ಗವನ್ನು ಬದಲಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ನ ಮಾರ್ಗವನ್ನು ಹಿಂದಿದ್ದಂತೆಯೇ ಬಿಡುತ್ತದೆ.
ಅದು ಏನನ್ನು ಹೊರಗಿಡುತ್ತದೆ
ಕೇವಲ ಆಂತರಿಕ ಅಂತ್ಯಬಿಂದುವನ್ನು Apps Script ನಿಂದ ತಲುಪಲಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಈ ಸ್ಥಾನದಲ್ಲಿ IP ಅನುಮತಿ ಪಟ್ಟಿ ಪ್ರವೇಶ ನಿಯಂತ್ರಣಕ್ಕೆ ದುರ್ಬಲ ಬದಲಿ. Google ನ ನಿರ್ಗಮನ ಶ್ರೇಣಿಗಳು ಅಗಲವಾಗಿವೆ, ಇತರ ಗ್ರಾಹಕರೊಂದಿಗೆ ಹಂಚಿಕೆಯಾಗಿವೆ ಮತ್ತು ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಬಂಧಿಸಲಾಗದು. UrlFetchApp ಉಲ್ಲೇಖ ವಿನಂತಿಗಳು Google ನ IP ಪೂಲ್ನಿಂದ ಬರುತ್ತವೆ ಎಂದು ಹೇಳುತ್ತದೆ, ಅದೇ ಆ ಹೇಳಿಕೆಯ ಅಧಿಕೃತ ಆವೃತ್ತಿ. ಆಂತರಿಕ ಅಪ್ ಅನ್ನು ಆ ಶ್ರೇಣಿಗಳಿಗೆ ತೆರೆಯುವುದು ನೀವು ಆರೋಪಿಸಲಾಗದ ಸಂಚಾರವನ್ನು ಒಳಗೆ ಬಿಡುತ್ತದೆ.
ಬ್ರೌಸರ್ ಅಧಿವೇಶನಗಳು ಸಹ ಅದೇ ರೀತಿ ವರ್ತಿಸುತ್ತವೆ. ಲ್ಯಾಪ್ಟಾಪ್ನ ಬ್ರೌಸರ್ನಲ್ಲಿರುವ ಕುಕಿ ಅಥವಾ SSO ಅಧಿವೇಶನ ವಿನಂತಿಯೊಂದಿಗೆ ಪ್ರಯಾಣಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ವಿನಂತಿ ಅಧಿವೇಶನ ಸ್ಥಿತಿ ಇಲ್ಲದ ಹೊಸ HTTPS ಕ್ಲೈಂಟ್. ಬ್ರೌಸರ್ SSO ಮರುನಿರ್ದೇಶನವನ್ನು ಅವಲಂಬಿಸಿರುವ ಯಾವುದೂ ನಿಮ್ಮ ದತ್ತಾಂಶದಲ್ಲಿ ಅಲ್ಲ, ಆ ಮರುನಿರ್ದೇಶನದಲ್ಲೇ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.
ಎರಡು ಕಾರ್ಯಸಾಧ್ಯ ರೂಪಗಳು
ಮೊದಲ ರೂಪ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಅನುಮೋದಿತ API ನೀಡುತ್ತದೆ. ಆಂತರಿಕ ಸೇವೆಯನ್ನು ಕರೆಗಾರನನ್ನು ದೃಢೀಕರಿಸುವ ಗೇಟ್ವೇ ಹಿಂದೆ ಪ್ರಕಟಿಸಿ, ನಂತರ ಸ್ಕ್ರಿಪ್ಟ್ ಗೇಟ್ವೇ ಸ್ವೀಕರಿಸುವ ರುಜುವಾತನ್ನು, ಉದಾಹರಣೆಗೆ ಸೇವಾ ಖಾತೆಯ ಟೋಕನ್ ಅನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಿ. Apps Script ನಲ್ಲಿ ಇದರರ್ಥ OAuth2 ಲೈಬ್ರರಿ ಅಥವಾ ScriptApp.getOAuthToken(), ಜೊತೆಗೆ API ಬದಿಯಲ್ಲಿ IP ಪಟ್ಟಿಯ ಬದಲು ಕರೆಗಾರ ಗುರುತುಗಳ ಅನುಮತಿ ಪಟ್ಟಿ.
ಎರಡನೇ ರೂಪ ದಿಕ್ಕನ್ನು ತಿರುಗಿಸುತ್ತದೆ. ಆಂತರಿಕ ಕೆಲಸವು ಖಾಸಗಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಪ್ರಶ್ನಿಸಿ, ಸ್ಕ್ರಿಪ್ಟ್ ಓದುವ Sheet, Cloud Storage ವಸ್ತು ಅಥವಾ BigQuery ಕೋಷ್ಟಕಕ್ಕೆ ನಿಯಂತ್ರಿತ ಫಲಿತಾಂಶವನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ. Cloud Run ಕೆಲಸ, ಸ್ಥಳೀಯ ನಿಗದಿಕಾರ ಅಥವಾ ಇರುವ ETL ಹಂತವು ಆ ಕೆಲಸವಾಗಬಹುದು, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಒಳಬರುವ ಸಂಪರ್ಕವನ್ನು ಸ್ವೀಕರಿಸಬೇಕಿಲ್ಲ. ನಂತರ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಇಂಟರ್ಫೇಸ್ ಬದಲು ದತ್ತಾಂಶ ಗುಂಪನ್ನು ಬಳಸುತ್ತದೆ.
ಯಾವ ರೂಪ ಗೆಲ್ಲುತ್ತದೆ ಎಂಬುದು ತಾಜಾತನ, ಕ್ಷೇತ್ರ ಮಟ್ಟದ ನಿಯಂತ್ರಣ ಮತ್ತು ಓದುಗರನ್ನು ಯಾರು ಆಡಿಟ್ ಮಾಡಬೇಕು ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿದೆ.
ಪ್ರಕಟಿತ ಫಲಿತಾಂಶದಲ್ಲಿ ಏನಿರಬೇಕು
ವಿರುದ್ಧ ದಿಕ್ಕಿನ ಫೀಡ್ಗೆ ಸ್ಪಷ್ಟ ಒಪ್ಪಂದ ಬೇಕು: ಅದು ಒಯ್ಯುವ ಕ್ಷೇತ್ರಗಳು, ರಿಫ್ರೆಶ್ ಮಧ್ಯಂತರ, ಓದುಗರ ಗುಂಪು ಮತ್ತು ಆಂತರಿಕ ಕೆಲಸ ವಿಫಲವಾದಾಗ ಏನಾಗುತ್ತದೆ. ಆ ನಾಲ್ಕಿಲ್ಲದೆ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಸದ್ದಿಲ್ಲದೆ ನಿನ್ನೆಯ ಸಂಖ್ಯೆಗಳನ್ನು ತೋರಿಸುತ್ತದೆ. ಉತ್ಪಾದಿತ ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಕಾಲಮ್ ಮತ್ತು ಸಾಲು ಎಣಿಕೆಯನ್ನು ಸೇರಿಸಿ, ಹಳೆಯ ಅಥವಾ ಭಾಗಶಃ ಪ್ರಕಟಣೆ ಯಾರೂ ಲಾಗ್ ತೆರೆಯದೆ ಶೀಟ್ನಲ್ಲೇ ಕಾಣುವಂತೆ.
API ದಿಕ್ಕಿಗೂ ಒಪ್ಪಂದ ಬೇಕು: ಗೇಟ್ವೇ ಯಾವ ರುಜುವಾತನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಟೋಕನ್ ಯಾವ scopes ಒಯ್ಯುತ್ತದೆ ಮತ್ತು ಯಾವ ಕರೆಗಾರ ಗುರುತುಗಳಿಗೆ ಅನುಮತಿ ಇದೆ. ಸೈನ್-ಇನ್ ಪುಟವಿರುವ 200 ಪ್ರತಿಕ್ರಿಯೆ ಯಶಸ್ವಿ ಕರೆ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಸ್ಥಿತಿ ಸಂಕೇತ ಮಾತ್ರವಲ್ಲ, ದೇಹವನ್ನೂ ಪರಿಶೀಲಿಸಿ.
ದೋಷವನ್ನು ಸರಿಯಾದ ಬದಿಯಿಂದ ಓದಿ
Apps Script ತಲುಪಲಾಗದ ಹೋಸ್ಟ್ ಅನ್ನು ವಿಳಾಸ ಲಭ್ಯವಿಲ್ಲದ ಎಂಬ ವಿನಾಯಿತಿಯಾಗಿ ವರದಿ ಮಾಡುತ್ತದೆ, ಅದು ಬ್ರೌಸರ್ನ ಸಂಪರ್ಕ ನಿರಾಕರಿಸಲಾಗಿದೆ ಸಂದೇಶವಲ್ಲ. ಗೇಟ್ವೇಯಿಂದ 403 ಎಂದರೆ ವಿನಂತಿ ತಲುಪಿತು ಮತ್ತು ರುಜುವಾತು ಅಥವಾ ನೀತಿ ತಿರಸ್ಕರಿಸಲ್ಪಟ್ಟಿತು. HTML ಸೈನ್-ಇನ್ ಪುಟ ಎಂದರೆ ವಿನಂತಿ ಸ್ಕ್ರಿಪ್ಟ್ ಪೂರ್ಣಗೊಳಿಸಲಾಗದ ಸಂವಾದಾತ್ಮಕ ಪದರನ್ನು ತಲುಪಿತು. ಮೂರು ವಿಭಿನ್ನ ವೈಫಲ್ಯಗಳು, ಮೂರು ವಿಭಿನ್ನ ಜವಾಬ್ದಾರರು.
ಸ್ಕ್ರಿಪ್ಟ್ನ ಲಾಗ್ ಅನ್ನು ಬ್ರೌಸರ್ ಫಲಿತಾಂಶದ ಪಕ್ಕದಲ್ಲಿ ಇರಿಸಿ, ಒಂದನ್ನು ಇನ್ನೊಂದರಿಂದ ಬದಲಿಸಬೇಡಿ. ಉಳಿದ ಪ್ರಶ್ನೆ ಆಗ ಸಾಮಾನ್ಯ ಏಕೀಕರಣ ನಿರ್ಣಯ: ಆ ಪರಿಸರಕ್ಕೆ ಬೇಕಾದ ಪ್ರವೇಶ ನೀಡಿ, ಅಥವಾ ಅದಕ್ಕೆ ನಿಯಂತ್ರಿತ ಫಲಿತಾಂಶ ತಲುಪಿಸಿ.