Kwa nini Apps Script haiwezi kufikia programu yako ya ndani kupitia VPN
Apps Script hufanya kazi kwenye mtandao wa Google, si kwenye kompyuta ya mkononi iliyo na VPN. Buni njia ya data kwa mashine inayotuma ombi.
Dashibodi hufunguka vizuri kwenye kivinjari cha kompyuta ya mkononi, lakini script hiyo hiyo ya lahajedwali hushindwa na hitilafu ya anwani isiyopatikana. Kuwasha au kuzima VPN hakubadilishi chochote, kwa sababu ombi hilo halitoki kwenye kompyuta ya mkononi kabisa. Apps Script hufanya kazi kwenye miundombinu ya Google na hufungua muunganisho wake mwenyewe kutoka hapo. Ukweli huo mmoja huamua muundo wote.
Tenganisha maswali mawili kabla ya kubadilisha kitu: ni mashine gani inayotuma ombi, na ni kitambulisho gani ambacho mpokeaji hukubali.
Ombi hilo huanza kamwe kwenye kompyuta yako ya mkononi
Kichupo cha kivinjari hutuma kutoka kompyuta ya mkononi, kupitia adapta ya VPN, kiambishi cha DNS cha ndani na kuingia kwenye subnet ya faragha. UrlFetchApp hutuma kutoka mwenyeji anayesimamiwa na Google, kwa hivyo huona vitatuzi vya Google, anwani za kutoka za Google na hakuna hata moja ya njia zako za split-tunnel. Njia hizo mbili hushiriki hati ya lahajedwali, si eneo la mtandao. Kwenye kumbukumbu ya ufikiaji ya programu, jaribio la script huonekana kama anwani ya Google badala ya anwani kutoka dimbwi la VPN, na hiyo ni uthibitisho wa haraka zaidi utakaoupata.
Ndiyo sababu marekebisho ya ndani hayafanyi kitu. Kuelekeza kompyuta ya mkononi kwenye kitatuzi kingine, kuwasha upya mteja wa VPN au kuongeza ingizo kwenye hosts hubadilisha njia ya kivinjari na huacha njia ya script kama ilivyokuwa.
Kile ambacho hilo huliondoa
Sehemu ya mwisho ya ndani pekee haiwezi kufikiwa kutoka Apps Script, na orodha ya IP zinazoruhusiwa ni mbadala dhaifu wa udhibiti wa ufikiaji mahali hapa. Safu za kutoka za Google ni pana, hushirikiwa na wateja wengine na haziwezi kufungwa na script moja. Rejea ya UrlFetchApp inasema kwamba maombi hutoka kwenye dimbwi la IP la Google, ambayo ni toleo lenye mamlaka la madai hayo. Kufungua programu ya ndani kwa safu hizo huingiza trafiki ambayo huwezi kuihusisha.
Vikao vya kivinjari hufanya vivyo hivyo. Kidakuzi au kikao cha SSO kwenye kivinjari cha kompyuta ya mkononi hakusafiri pamoja na ombi, ambalo ni mteja mpya wa HTTPS bila hali ya kikao. Kitu chochote kinachotegemea uelekezaji upya wa SSO wa kivinjari huishia kwenye uelekezaji huo na si kwenye data yako.
Maumbo mawili yanayoweza kutekelezwa
Umbo la kwanza hulipa script API iliyoidhinishwa. Chapisha huduma ya ndani nyuma ya lango linalothibitisha anayetuma, kisha acha script iwasilishe kitambulisho ambacho lango hukubali, kama tokeni ya akaunti ya huduma. Katika Apps Script hiyo inamaanisha maktaba ya OAuth2 au ScriptApp.getOAuthToken(), pamoja na orodha ya utambulisho wa wapiga simu wanaoruhusiwa upande wa API badala ya orodha ya IP.
Umbo la pili hugeuza mwelekeo. Kazi ya ndani huuliza mfumo wa faragha na kuchapisha matokeo yaliyodhibitiwa kwenye Sheet, kitu cha Cloud Storage au jedwali la BigQuery ambalo script husoma. Kazi ya Cloud Run, kipanga muda cha ndani au hatua iliyopo ya ETL zote zinaweza kuwa kazi hiyo, na hakuna hata moja inayohitaji kukubali muunganisho unaoingia. Lahajedwali huli matumizi seti ya data badala ya kiolesura.
Umbo gani litashinda hutegemea ubichi, udhibiti wa ngazi ya uga na nani anayepaswa kuweza kukagua msomaji.
Matokeo yaliyochapishwa yanapaswa kuwa na nini
Mkondo wa mwelekeo wa kinyume unahitaji mkataba wa wazi: sehemu ambazo hubeba, muda wa kuonyesha upya, kundi la wasomaji na kile kinachotokea kazi ya ndani inaposhindwa. Bila hizo nne, lahajedwali huonyesha kwa utulivu nambari za jana. Ongeza safu ya muhuri wa muda iliyozalishwa na hesabu ya mistari ili uchapishaji uliopitwa na wakati au wa sehemu uonekane kwenye karatasi yenyewe, bila mtu yeyote kufungua kumbukumbu.
Mwelekeo wa API pia unahitaji mkataba: ni kitambulisho gani lango hukubali, ni scopes gani tokeni hubeba na ni utambulisho gani wa wapiga simu unaoruhusiwa. Jibu la 200 lenye ukurasa wa kuingia si wito uliofanikiwa, kwa hivyo angalia mwili na si msimbo wa hali pekee.
Soma hitilafu kutoka upande sahihi
Apps Script huripoti mwenyeji asiyefikiwa kama hitilafu ya anwani isiyopatikana, ambayo si ujumbe wa kivinjari wa muunganisho uliokataliwa. 403 kutoka lango inamaanisha ombi lilifika na kitambulisho au sera ilikataliwa. Ukurasa wa kuingia wa HTML inamaanisha ombi lilifikia tabaka la mwingiliano ambalo script haiwezi kukamilisha. Hitilafu tatu tofauti na wamiliki watatu tofauti.
Weka kumbukumbu ya script kando ya matokeo ya kivinjari badala ya kubadilisha moja na lingine. Swali linalobaki basi ni uamuzi wa kawaida wa muunganisho: ipe mazingira hayo ufikiaji unaohitaji, au mletee matokeo yaliyodhibitiwa.