Stjórnborðið opnast fínt í vafranum á fartölvunni, en sama töflureiknaskriftin mistekst með villu um óaðgengilegt vistfang. Að kveikja eða slökkva á VPN breytir engu, því beiðnin yfirgefur fartölvuna alls ekki. Apps Script keyrir á innviðum Google og opnar sína eigin tengingu þaðan. Þessi eina staðreynd ræður allri hönnuninni.

Aðskildu tvær spurningar áður en þú breytir nokkru: hvaða vél sendir beiðnina, og hvaða skilríki viðtakandinn samþykkir.

Beiðnin byrjar aldrei á fartölvunni þinni

Vafraflipi sendir frá fartölvunni, í gegnum VPN-millistykkið, innra DNS-viðskeytið og inn í einkanetið. UrlFetchApp sendir frá hýsingaraðila sem Google stýrir, svo það sér leysendur Google, útgangsvistföng Google og enga af split-tunnel leiðunum þínum. Leiðirnar tvær deila töflureikniskjali, ekki netstað. Í aðgangsskrá forritsins birtist tilraun skriftunnar sem Google-vistfang í stað vistfangs úr VPN-lauginni, og það er fljótlegasta staðfestingin sem þú færð.

Þess vegna gera staðbundnar lagfæringar ekkert. Að beina fartölvunni að öðrum leysi, endurræsa VPN-biðlara eða bæta við færslu í hosts breytir leið vafrans og lætur leið skriftunnar vera nákvæmlega eins og hún var.

Hvað það útilokar

Ekki er hægt að ná í endapunkt sem er aðeins innri frá Apps Script, og leyfður IP-listinn er veik staðgengil fyrir aðgangsstýringu á þessum stað. Útgangssvið Google eru breið, deilt með öðrum viðskiptavinum og ómögulegt að binda við eina skriftu. Tilvísunin í UrlFetchApp segir að beiðnir eigi uppruna sinn í IP-laug Google, sem er hið opinbera orðalag þeirrar fullyrðingar. Að opna innra forritið fyrir þessum sviðum hleypir inn umferð sem þú getur ekki rakjað til einhvers.

Vafralotur haga sér á sama hátt. Kaka eða SSO-lota í vafra fartölvunnar fer ekki með beiðninni, sem er nýr HTTPS-biðlari án lotuástands. Allt sem reiðir sig á SSO-endurbeiningu í vafra endar á þeirri endurbeiningu en ekki á gögnunum þínum.

Tvö færar myndir

Fyrri myndin gefur skriftunni samþykkt API. Birtu innri þjónustuna bak við hlið sem sannreynir kallandann, og láttu skriftuna síðan leggja fram skilríki sem hliðið samþykkir, svo sem tákn þjónustureiknings. Í Apps Script þýðir það OAuth2-safn eða ScriptApp.getOAuthToken(), ásamt leyfilegum lista yfir auðkenni kallenda á API-hliðinni í stað IP-lista.

Seinni myndin snýr stefnunni við. Innra verk fyrirspyr einkakerfið og birtir stýrt niðurstöðu í Sheet, Cloud Storage-hlut eða BigQuery-töflu sem skriftan les. Cloud Run-verk, staðbundin tímaplönun eða fyrirliggjandi ETL-skref geta öll verið það verk, og ekkert þeirra þarf að samþykkja innkomna tengingu. Töflureiknirinn neytir þá gagnasafns í stað viðmóts.

Hvort formið vinnur fer eftir ferskleika, stýringu á sviðsstigi og hverjir verða að geta endurskoðað lesandann.

Hvað birt niðurstaðan verður að innihalda

Flæði í hina áttina þarf skýran samning: sviðin sem það ber, endurnýjunarhlé, lesendahópinn og hvað gerist þegar innra verkið bregst. Án þessara fjögurra sýnir töflureiknirinn hljóðlega tölur gærdagsins. Bættu við mynduðum tímarammadálki og fjölda lína svo úrelt eða að hluta birt útgáfa sjáist í töflunni sjálfri, án þess að nokkur opni skrá.

API-stefnan þarf líka samning: hvaða skilríki hliðið samþykkir, hvaða scopes táknið ber og hvaða auðkenni kallenda eru leyfileg. 200-svar sem inniheldur innskráningarsíðu er ekki farsælt kall, svo athugaðu slóðann og ekki bara stöðukóðann.

Lestu villuna frá réttri hlið

Apps Script tilkynnir óaðgengilegan hýsingaraðila sem undantekningu um óaðgengilegt vistfang, sem er ekki skilaboð vafrans um höfnuð tengingu. 403 frá hliðinu þýðir að beiðnin komst til og skilríki eða stefna var hafnað. HTML-innskráningarsíða þýðir að beiðnin náði gagnvirku lagi sem skrifta getur ekki klárað. Þrjú mismunandi mistök með þremur mismunandi ábyrgðaraðilum.

Haltu skrá skriftunnar við hlið niðurstöðu vafrans í stað þess að skipta einu út fyrir annað. Spurningin sem eftir stendur er þá venjuleg samþættingarákvörðun: gefðu því umhverfi aðganginn sem það þarf, eða skilaðu því stýrðri niðurstöðu.

Tengdir greinar