Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇

āϗ⧁āĻ—āϞ āĻāĻĒāĻŋāφāχāϗ⧁āϞāĻŋ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāĻŖ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āϗ⧁āĻ—āϞ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ, āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāχāĻĄ, āχāύāĻ¸ā§āϟāϞāĻĄ āĻāĻŦāĻ‚ āϏ⧀āĻŽāĻŋāϤ-āχāύāĻĒ⧁āϟ āĻĄāĻŋāĻ­āĻžāχāϏ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻŽāϤ⧋ āϏāĻžāϧāĻžāϰāĻŖ OAuth 2.0 āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤

āĻļ⧁āϰ⧁ āĻ•āϰāϤ⧇, OAuth 2.0 āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰāϗ⧁āϞāĻŋ āĻĨ⧇āϕ⧇ āĻĒāĻžāύ Google API Console āĨ¤ āϤāĻžāϰāĻĒāϰ āφāĻĒāύāĻžāϰ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ Google Authorization Server āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇, āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻŦ⧇āϰ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻŸā§‹āϕ⧇āύāϟāĻŋ āφāĻĒāύāĻŋ āϝ⧇ Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āϚāĻžāύ āϤāĻžāϤ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ Google āĻāϰ āϏāĻžāĻĨ⧇ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āχāĻ¨ā§āϟāĻžāϰ⧇āĻ•ā§āϟāĻŋāĻ­ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ (āφāĻĒāύāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϏāĻš), OAuth 2.0 Playground āĻĻāĻŋāϝāĻŧ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤

āĻāχ āĻĒ⧃āĻˇā§āĻ āĻžāϟāĻŋ Google āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ OAuth 2.0 āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āĻāĻ•āϟāĻŋ āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸā§‡āϰ āϞāĻŋāĻ™ā§āĻ• āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāϤ⧇, OpenID Connect āĻĻ⧇āϖ⧁āύāĨ¤

āĻŽā§ŒāϞāĻŋāĻ• āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ

OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏāĻŽāĻ¸ā§āϤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻāĻ•āϟāĻŋ āĻŽā§ŒāϞāĻŋāĻ• āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇āĨ¤ āωāĻšā§āϚ āĻ¸ā§āϤāϰ⧇, āφāĻĒāύāĻžāϕ⧇ āĻĒāĻžāρāϚāϟāĻŋ āϧāĻžāĻĒ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇:

ā§§. āĻĨ⧇āϕ⧇ OAuth 2.0 āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰāϗ⧁āϞāĻŋ āĻĒāĻžāύ Google API Console.

āĻĒāϰāĻŋāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧁āύ Google API Console OAuth 2.0 āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰ āϝ⧇āĻŽāύ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāχāĻĄāĻŋ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϏāĻŋāĻ•ā§āϰ⧇āϟ āϝāĻž Google āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āωāĻ­āϝāĻŧ⧇āϰ āĻ•āĻžāϛ⧇āχ āĻĒāϰāĻŋāϚāĻŋāϤ āϤāĻž āĻĒ⧇āϤ⧇āĨ¤ āφāĻĒāύāĻŋ āϕ⧋āύ āϧāϰāϪ⧇āϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϛ⧇āύ āϤāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āϏ⧇āϟ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āϕ⧋āύāĻ“ āϏāĻŋāĻ•ā§āϰ⧇āĻŸā§‡āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āύāĻž, āϤāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϟāĻŋ āϝ⧇ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āϚāϞāĻŦ⧇ āϤāĻžāϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧁āĻ•ā§āϤ āĻāĻ•āϟāĻŋ OAuth āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ:

⧍. āϗ⧁āĻ—āϞ āĻ…āĻĨāϰāĻžāχāĻœā§‡āĻļāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒāĻžāύāĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ Google API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤ āĻĄā§‡āϟāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āφāϗ⧇, āĻāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϤ⧇ āĻšāĻŦ⧇ āϝāĻž āϏ⧇āχ API-āϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŽāĻžā§āϜ⧁āϰ āĻ•āϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻāĻ•āĻžāϧāĻŋāĻ• API-āϤ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽāĻžāĻ¤ā§āϰāĻžāϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŽāĻžā§āϜ⧁āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ scope āύāĻžāĻŽāĻ• āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āϝ⧇ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻāĻŦāĻ‚ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋāϕ⧇ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ āϤāĻž āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ-āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϏāĻŽāϝāĻŧ, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ scope āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻŽāĻžāύ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤

āĻāχ āĻ…āύ⧁āϰ⧋āϧāϟāĻŋ āĻ•āϰāĻžāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āωāĻĒāĻžāϝāĻŧ āφāϛ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϝ⧇ āϧāϰāϪ⧇āϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϛ⧇āύ āϤāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āĻāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ Google-āĻ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ āϰāĻŋāĻĄāĻžāχāϰ⧇āĻ•ā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻ…āĻ¨ā§āϝāĻĻāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϝāĻžāϰ āϕ⧋āύāĻ“ āĻŦā§āϰāĻžāωāϜāĻžāϰ āύ⧇āχ āϏ⧇āϗ⧁āϞāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…āύ⧁āϰ⧋āϧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻ…āύ⧁āϰ⧋āϧāϟāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āϰāĻŦ⧇āύ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āĻĒā§āϰāϤāĻŋāϟāĻŋ āϧāϰāϪ⧇āϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āĻĻ⧇āϖ⧁āύāĨ¤

āĻ•āĻŋāϛ⧁ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāĻŖ āϧāĻžāĻĒ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āϝ⧇āĻ–āĻžāύ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϤāĻžāĻĻ⧇āϰ Google āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻĻāĻŋāϝāĻŧ⧇ āϞāĻ— āχāύ āĻ•āϰ⧇āύāĨ¤ āϞāĻ— āχāύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āϜāĻŋāĻœā§āĻžāĻžāϏāĻž āĻ•āϰāĻž āĻšāϝāĻŧ āϝ⧇ āϤāĻžāϰāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻāĻŋāϤ⧇ āχāĻšā§āϛ⧁āĻ• āĻ•āĻŋāύāĻžāĨ¤ āĻāχ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϕ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋ āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤

āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ, āϤāĻžāĻšāϞ⧇ Google Authorization Server āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ (āĻ…āĻĨāĻŦāĻž āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ āϝāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇) āĻāĻŦāĻ‚ āϏ⧇āχ āĻŸā§‹āϕ⧇āύ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϏ⧁āϝ⧋āĻ—āϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āϤāĻžāϞāĻŋāĻ•āĻž āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ…āύ⧁āĻŽāϤāĻŋ āύāĻž āĻĻ⧇āϝāĻŧ, āϤāĻžāĻšāϞ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻāĻ•āϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āĻĢ⧇āϰāϤ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤

āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϞ⧇, āφāϗ⧇ āĻĨ⧇āϕ⧇ āύāĻž āĻ•āϰ⧇, āĻ•ā§āϰāĻŽāĻŦāĻ°ā§āϧāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āĻ¸ā§āϕ⧋āĻĒ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻāĻ•āϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āĻ…āύ⧁āĻļā§€āϞāύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϝ⧇ āĻ…ā§āϝāĻžāĻĒāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āϟ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āϚāĻžāϝāĻŧ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ "āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ⧇ āϝ⧋āĻ— āĻ•āϰ⧁āύ" āĻŦā§‹āϤāĻžāĻŽ āϟāĻŋāĻĒ⧇ āύāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ Google āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āωāϚāĻŋāϤ āύāϝāĻŧ; āĻŦāĻ°ā§āϧāĻŋāϤ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āĻĻ⧇āϖ⧁āύāĨ¤

ā§Š. āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ•āĻ°ā§āϤ⧃āĻ• āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϏ⧁āϝ⧋āĻ— āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤

āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ¸ā§āϕ⧋āĻĒāϗ⧁āϞāĻŋāϰ āϤ⧁āϞāύāĻž āĻ•āϰ⧁āύ, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ¸ā§āϕ⧋āĻĒāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ Google API-āϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āĨ¤ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϝ⧇ āϕ⧋āύāĻ“ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝāĻž āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ API-āϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ›āĻžāĻĄāĻŧāĻž āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻ…āĻ•ā§āώāĻŽ āϤāĻž āĻ…āĻ•ā§āώāĻŽ āĻ•āϰ⧁āύāĨ¤

āφāĻĒāύāĻžāϰ āĻ…āύ⧁āϰ⧋āϧ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ¸ā§āϕ⧋āĻĒāϟāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ¸ā§āϕ⧋āĻĒ⧇āϰ āϏāĻžāĻĨ⧇ āύāĻžāĻ“ āĻŽāĻŋāϞāϤ⧇ āĻĒāĻžāϰ⧇, āĻāĻŽāύāĻ•āĻŋ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϏāĻŽāĻ¸ā§āϤ āĻ…āύ⧁āϰ⧋āϧāĻ•ā§ƒāϤ āĻ¸ā§āϕ⧋āĻĒ āĻŽāĻžā§āϜ⧁āϰ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āύāĨ¤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ¸ā§āϕ⧋āĻĒāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋāϟāĻŋ Google API-āĻāϰ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĻ⧇āϖ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ API āĻāĻ•āĻžāϧāĻŋāĻ• āĻ¸ā§āϕ⧋āĻĒ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŽāĻžāύ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻāĻ•āĻ• āĻ¸ā§āϕ⧋āĻĒ⧇ āĻŽā§āϝāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻ…āύ⧁āϰ⧋āϧ⧇ āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āϏāĻŽāĻ¸ā§āϤ āĻŽāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āχ āĻ¸ā§āϕ⧋āĻĒ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ: āϝāĻ–āύ āϕ⧋āύāĻ“ āĻ…ā§āϝāĻžāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ https://www.google.com/m8/feeds/ āĻāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āϕ⧋āĻĒ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇ āϤāĻ–āύ Google People API https://www.googleapis.com/auth/contacts āĻāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āϕ⧋āĻĒ āĻĢ⧇āϰāϤ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇; Google People API āĻĒāĻĻā§āϧāϤāĻŋ people.updateContact āϜāĻ¨ā§āϝ https://www.googleapis.com/auth/contacts āĻāϰ āĻāĻ•āϟāĻŋ āĻŽāĻžā§āϜ⧁āϰāĻŋāĻĒā§āϰāĻžāĻĒā§āϤ āĻ¸ā§āϕ⧋āĻĒ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤

ā§Ē. āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻāĻ•āϟāĻŋ API āϤ⧇ āĻĒāĻžāĻ āĻžāύāĨ¤

āϕ⧋āύāĻ“ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ, āĻāϟāĻŋ HTTP Authorization request header- āĻ āĻŸā§‹āϕ⧇āύāϟāĻŋ Google API-āϤ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ URI āϕ⧋āϝāĻŧ⧇āϰāĻŋ-āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŸā§‹āϕ⧇āύ āĻĒāĻžāĻ āĻžāύ⧋ āϏāĻŽā§āĻ­āĻŦ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻŽāϰāĻž āĻāϟāĻŋ āϏ⧁āĻĒāĻžāϰāĻŋāĻļ āĻ•āϰāĻŋ āύāĻž, āĻ•āĻžāϰāĻŖ URI āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϗ⧁āϞāĻŋ āϞāĻ— āĻĢāĻžāχāϞ⧇ āĻĒāϰāĻŋāĻŖāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āύāĻŋāϰāĻžāĻĒāĻĻ āύāϝāĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ URI āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āύāĻžāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻāĻĄāĻŧāĻžāύ⧋ REST āĻ…āύ⧁āĻļā§€āϞāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤

āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύāϗ⧁āϞāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ scope āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ āĻāĻŦāĻ‚ āϏāĻ‚āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāϰ āϏ⧇āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŦ⧈āϧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϝāĻĻāĻŋ Google āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ API-āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āϜāĻžāϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻŦ⧇ āĻāϟāĻŋ Google Contacts API-āϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻ⧇āϝāĻŧ āύāĻžāĨ¤ āϤāĻŦ⧇, āφāĻĒāύāĻŋ āĻāĻ•āχ āϧāϰāϪ⧇āϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āϏ⧇āχ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύāϟāĻŋ Google āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ API-āϤ⧇ āĻāĻ•āĻžāϧāĻŋāĻ•āĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

ā§Ģ. āĻĒā§āĻ°ā§Ÿā§‹āϜāύ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧁āύāĨ¤

āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āϞāĻžāχāĻĢāϟāĻžāχāĻŽ āϏ⧀āĻŽāĻŋāϤāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āϞāĻžāχāĻĢāϟāĻžāχāĻŽā§‡āϰ āĻĒāϰ⧇āĻ“ āϕ⧋āύāĻ“ Google API-āϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϕ⧇ āύāϤ⧁āύ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āĻĻ⧃āĻļā§āϝāĻĒāϟ

āĻāχ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϗ⧁āϞāĻŋ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧇ āϝ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄā§‡āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ, āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĒ⧇āϤ⧇ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāϰāϪ⧇āϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŸā§‹āϕ⧇āύ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰāϤ⧇ āĻšāϝāĻŧāĨ¤

āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ

Google OAuth 2.0 āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻāĻŽāύ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āϝāĻž PHP, Java, Go, Python, Ruby āĻāĻŦāĻ‚ ASP.NET āĻāϰ āĻŽāϤ⧋ āĻ­āĻžāώāĻž āĻāĻŦāĻ‚ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰāϕ⧇ āĻāĻ•āϟāĻŋ Google URL-āĻ āĻĒ⧁āύāσāύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āĻ•āϰ⧇ āϤāĻ–āύ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻ•ā§āϰāĻŽ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ; URL-āĻ āϕ⧋āϝāĻŧ⧇āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĨāĻžāϕ⧇ āϝāĻž āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϧāϰāĻŖ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ Google āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāĻŖ, āϏ⧇āĻļāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇āĨ¤ āĻĢāϞāĻžāĻĢāϞ āĻšāϞ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ, āϝāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϤ⧇ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύāϟāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āωāϚāĻŋāϤ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ Google Authorization Server-āĻ āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇, āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ āϕ⧋āĻĄ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ Google API āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ•āϞ āĻ•āϰ⧇āĨ¤

āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĻ⧇āϖ⧁āύāĨ¤

āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ

Google OAuth 2.0 āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ, āĻŽā§‹āĻŦāĻžāχāϞ āĻĄāĻŋāĻ­āĻžāχāϏ āĻāĻŦāĻ‚ āĻŸā§āϝāĻžāĻŦāϞ⧇āĻŸā§‡āϰ āĻŽāϤ⧋ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤ āϝāĻ–āύ āφāĻĒāύāĻŋ Google API Console , āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϧāϰāĻŖ āĻšāĻŋāϏ⧇āĻŦ⧇ Android, Chrome Extension, iOS, Universal Windows Platform (UWP), āĻ…āĻĨāĻŦāĻž Desktop āĻ…ā§āϝāĻžāĻĒ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤

āĻāχ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻĢāϞ⧇ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāχāĻĄāĻŋ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϏāĻŋāĻ•ā§āϰ⧇āϟ āϤ⧈āϰāĻŋ āĻšāϝāĻŧ, āϝāĻž āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄā§‡ āĻāĻŽā§āĻŦ⧇āĻĄ āĻ•āϰ⧇āύāĨ¤ (āĻāχ āĻĒā§āϰāϏāĻ™ā§āϗ⧇, āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϏāĻŋāĻ•ā§āϰ⧇āϟāϕ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāϤāχ āĻ—ā§‹āĻĒāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤)

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰāϕ⧇ āĻāĻ•āϟāĻŋ Google URL-āĻ āĻĒ⧁āύāσāύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āĻ•āϰ⧇ āϤāĻ–āύ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻ•ā§āϰāĻŽ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ; URL-āĻ āϕ⧋āϝāĻŧ⧇āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĨāĻžāϕ⧇ āϝāĻž āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϧāϰāĻŖ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ Google āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāĻŖ, āϏ⧇āĻļāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇āĨ¤ āĻĢāϞāĻžāĻĢāϞ āĻšāϞ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ, āϝāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ Google API āĻ…āύ⧁āϰ⧋āϧ⧇ āĻāϟāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύāϟāĻŋ āϝāĻžāϚāĻžāχ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰ⧇āĨ¤

āϐāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦ⧇, āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄāϟāĻŋ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ⧇āϰ āϏāĻžāĻĨ⧇ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ āĻ¸ā§āĻĨāĻžāύ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϤ⧇ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ Google Authorization Server-āĻ āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇, āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ āϕ⧋āĻĄ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ Google API āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ•āϞ āĻ•āϰ⧇āĨ¤

āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, Android āĻāϰ āϜāĻ¨ā§āϝ Google āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĄā§‡āϟāĻžāϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ iOS āĻāĻŦāĻ‚ āĻĄā§‡āĻ¸ā§āĻ•āϟāĻĒ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻĻ⧇āϖ⧁āύāĨ¤

āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāχāĻĄ (āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ) āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ

Google OAuth 2.0 āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϚāĻžāϞāĻŋāϤ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰāϕ⧇ āĻāĻ•āϟāĻŋ Google URL-āĻ āĻĒ⧁āύāσāύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āĻ•āϰ⧇ āϤāĻ–āύ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻ•ā§āϰāĻŽ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ; URL-āĻ āϕ⧋āϝāĻŧ⧇āϰāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĨāĻžāϕ⧇ āϝāĻž āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϧāϰāĻŖ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ Google āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāĻŖ, āϏ⧇āĻļāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇āĨ¤

āĻĢāϞāĻžāĻĢāϞ āĻšāϞ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ, āϝāĻž āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟāϕ⧇ Google API āĻ…āύ⧁āϰ⧋āϧ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āφāϗ⧇ āϝāĻžāϚāĻžāχ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ JS āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ Google Authorization Server-āĻ āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇, āĻŸā§‹āϕ⧇āύāϟāĻŋ āϝāĻžāϚāĻžāχ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ Google API āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ•āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāχāĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĻ⧇āϖ⧁āύāĨ¤

āϏ⧀āĻŽāĻŋāϤ-āχāύāĻĒ⧁āϟ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ

Google OAuth 2.0 āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻāĻŽāύ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āϝāĻž āϏ⧀āĻŽāĻŋāϤ-āχāύāĻĒ⧁āϟ āĻĄāĻŋāĻ­āĻžāχāϏ āϝ⧇āĻŽāύ āϗ⧇āĻŽ āĻ•āύāϏ⧋āϞ, āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻāĻŦāĻ‚ āĻĒā§āϰāĻŋāĻ¨ā§āϟāĻžāϰ⧇ āϚāϞ⧇āĨ¤

āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻ•ā§āϰāĻŽāϟāĻŋ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āϗ⧁āĻ—āϞ āχāωāφāϰāĻāϞ-āĻ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āĻāĻ•āϟāĻŋ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝāĨ¤ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϤ⧇ āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āϰāϝāĻŧ⧇āϛ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āχāωāφāϰāĻāϞ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϕ⧋āĻĄ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĄāĻŋāĻ­āĻžāχāϏ āĻĨ⧇āϕ⧇ URL āĻāĻŦāĻ‚ āϕ⧋āĻĄāϟāĻŋ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇, āϤāĻžāϰāĻĒāϰ āφāϰāĻ“ āϏāĻŽā§ƒāĻĻā§āϧ āχāύāĻĒ⧁āϟ āĻ•ā§āώāĻŽāϤāĻž āϏāĻš āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĄāĻŋāĻ­āĻžāχāϏ āĻŦāĻž āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇ āĻ¸ā§āϝ⧁āχāϚ āĻ•āϰ⧇āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ āϚāĻžāϞ⧁ āĻ•āϰ⧇, āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ URL āĻ āύ⧇āĻ­āĻŋāϗ⧇āϟ āĻ•āϰ⧇, āϞāĻ— āχāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϕ⧋āĻĄāϟāĻŋ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰāĻžāϝāĻŧāĨ¤

āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦāĻŋāϰāϤāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ Google URL āĻĒā§‹āϞ āĻ•āϰ⧇āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, Google āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻāĻŦāĻ‚ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻĨāĻžāϕ⧇āĨ¤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϤ⧇ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āωāϚāĻŋāϤ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ URL āĻĒ⧇āϤ⧇ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āϞāĻ— āχāύ āĻ•āϰ⧇āύ āϝāĻžāϰ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ āφāϛ⧇

āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āϜāĻ¨ā§āϝ OAuth 2.0 āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĻ⧇āϖ⧁āύāĨ¤

āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ

Google API āϝ⧇āĻŽāύ Prediction API āĻāĻŦāĻ‚ Google Cloud Storage āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϤāĻĨā§āϝ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āύāĻž āĻ•āϰ⧇āχ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻĒāĻ•ā§āώ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāχ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ API-āϤ⧇ āϤāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻĒāϰāĻŋāϚāϝāĻŧ āĻĒā§āϰāĻŽāĻžāĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϤāĻŦ⧇ āϕ⧋āύāĻ“ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āύ⧇āχāĨ¤ āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āĻāĻ¨ā§āϟāĻžāϰāĻĒā§āϰāĻžāχāϜ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻ•āĻŋāϛ⧁ āϏāĻ‚āĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāϤ⧇ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦāĻŽā§‚āϞāĻ• āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻāχ āϧāϰāϪ⧇āϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϟ⧁-āϏāĻžāĻ°ā§āĻ­āĻžāϰ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āϝāĻž āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āϝāĻž āϕ⧋āύāĻ“ āĻāĻ•āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤāĨ¤ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻĒāĻ•ā§āώ⧇ Google API āϗ⧁āϞāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āύāĻžāĨ¤ (āĻ…-āĻĒāϰāĻŋāώ⧇āĻŦāĻž-āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻļ⧇āώ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻĒāĻ•ā§āώ⧇ Google API āϗ⧁āϞāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϏāĻŽā§āĻŽāϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧāĨ¤)

āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰ, āϝāĻž āφāĻĒāύāĻŋ āĻĨ⧇āϕ⧇ āĻĒāĻžāĻŦ⧇āύ Google API Console, āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰāĻž āχāĻŽā§‡āϞ āĻ āĻŋāĻ•āĻžāύāĻž, āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāχāĻĄāĻŋ āĻāĻŦāĻ‚ āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻŦāϞāĻŋāĻ•/āĻĒā§āϰāĻžāχāϭ⧇āϟ āϕ⧀ āĻœā§‹āĻĄāĻŧāĻž āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύāĨ¤ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŦāĻžāĻ•ā§āώāϰāĻŋāϤ JWT āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āωāĻĒāϝ⧁āĻ•ā§āϤ āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ-āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāχāĻĄāĻŋ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāχāϭ⧇āϟ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύāĨ¤ āĻāϰāĻĒāϰ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧāϟāĻŋ Google OAuth 2.0 āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϝāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻĢ⧇āϰāϤ āĻĻ⧇āϝāĻŧāĨ¤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻāĻ•āϟāĻŋ Google API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻŸā§‹āϕ⧇āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ Google āĻ…āĻĨāϰāĻžāχāĻœā§‡āĻļāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻŸā§‹āϕ⧇āύ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ JWT āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āϤāĻžāϰāĻĒāϰ āĻāĻ•āϟāĻŋ Google API āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ•āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āϕ⧋āύāĻ“ āĻāĻ¨ā§āĻĄ-āχāωāϜāĻžāϰ āϜāĻĄāĻŧāĻŋāϤ āύāϝāĻŧāĨ¤

āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, āĻĒāϰāĻŋāώ⧇āĻŦāĻž-āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĻ⧇āϖ⧁āύāĨ¤

āĻŸā§‹āϕ⧇āύ⧇āϰ āφāĻ•āĻžāϰ

āĻŸā§‹āϕ⧇āύāϗ⧁āϞāĻŋ āφāĻ•āĻžāϰ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϏ⧀āĻŽāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ:

  • āϕ⧋āĻĄ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āϕ⧋āĻĄ
    ⧍ā§Ģā§Ŧ āĻŦāĻžāχāϟ
  • contextual_token āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ
    ⧍ā§Ļā§Ēā§Ž āĻŦāĻžāχāϟ
  • restore_page āĻŸā§‹āϕ⧇āύ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧁āύ
    ā§Ģ⧧⧍ āĻŦāĻžāχāϟ

āϗ⧁āĻ—āϞ āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻŸā§‹āϕ⧇āύ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻāĻĒāĻŋāφāχ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύāϗ⧁āϞāĻŋ āϗ⧁āĻ—āϞ āĻāĻĒāĻŋāφāχ āĻ“āĻ…āĻĨ ⧍.ā§Ļ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽāϤ⧋āχ āĻ—āĻ āύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϤāĻŦ⧇ āĻŸā§‹āϕ⧇āύ⧇āϰ āφāĻ•āĻžāϰ⧇āϰ āϏ⧀āĻŽāĻž āφāϞāĻžāĻĻāĻžāĨ¤ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ, āĻāĻĒāĻŋāφāχ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĻ⧇āϖ⧁āύāĨ¤

āĻāχ āϏ⧀āĻŽāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻŸā§‹āϕ⧇āύ⧇āϰ āφāĻ•āĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻžāϰ āĻ…āϧāĻŋāĻ•āĻžāϰ Google āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ āϏ⧇āχ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āĻŸā§‹āϕ⧇āύ⧇āϰ āφāĻ•āĻžāϰ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻŸā§‹āϕ⧇āύ⧇āϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ āĻļ⧇āώ āĻšāĻ“āϝāĻŧāĻžāϰ āϤāĻžāϰāĻŋāĻ– āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āĻŽāĻžā§āϜ⧁āϰāĻ•ā§ƒāϤ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āφāϰ āĻ•āĻžāϜ āύāĻžāĻ“ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻ…āύ⧁āĻŽāĻžāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄāϟāĻŋ āϞāĻŋāĻ–āϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻ•āĻžāϰāĻŖāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋāϰ āϜāĻ¨ā§āϝ āĻ•āĻžāϜ āĻ•āϰāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇:

āĻāĻ•āϟāĻŋ Google Cloud Platform āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϝ⧇āĻ–āĻžāύ⧇ OAuth āϏāĻŽā§āĻŽāϤāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āĻāĻ•āϟāĻŋ āĻŦāĻšāĻŋāϰāĻžāĻ—āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϧāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ "āĻĒāϰ⧀āĻ•ā§āώāĻž" āĻāϰ āĻĒā§āϰāĻ•āĻžāĻļāύāĻž āĻ¸ā§āĻĨāĻŋāϤāĻŋ āϰāϝāĻŧ⧇āϛ⧇, āϏ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āϜāĻžāϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻžāϰ āĻŽā§‡āϝāĻŧāĻžāĻĻ 7 āĻĻāĻŋāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϝāĻĻāĻŋ āύāĻž āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž OAuth āĻ¸ā§āϕ⧋āĻĒāϗ⧁āϞāĻŋ āύāĻžāĻŽ, āχāĻŽā§‡āϞ āĻ āĻŋāĻ•āĻžāύāĻž āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒā§āϰ⧋āĻĢāĻžāχāϞ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĒāϏ⧇āϟ āĻšāϝāĻŧ ( userinfo.email, userinfo.profile, openid āĻ¸ā§āϕ⧋āĻĒ, āĻ…āĻĨāĻŦāĻž āϤāĻžāĻĻ⧇āϰ OpenID Connect āϏāĻŽāϤ⧁āĻ˛ā§āϝ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡)āĨ¤

āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻĒā§āϰāϤāĻŋ OAuth 2.0 āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāχāĻĄāĻŋāϤ⧇ āĻĒā§āϰāϤāĻŋ Google āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡ ā§§ā§Ļā§ĻāϟāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ⧇āϰ āϏ⧀āĻŽāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āϝāĻĻāĻŋ āĻāχ āϏ⧀āĻŽāĻžāϟāĻŋ āĻĒ⧌āρāϛ⧇ āϝāĻžāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āϤ⧈āϰāĻŋ āĻ•āϰāϞ⧇ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻŦāĻžāϤāĻŋāϞ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇āĨ¤ āĻāχ āϏ⧀āĻŽāĻž āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻĒā§āϰāϝ⧋āĻœā§āϝ āύāϝāĻŧāĨ¤

āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻŦāĻž āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āϏāĻŽāĻ¸ā§āϤ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŽā§‹āϟ āĻ•āϤ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻŋ āĻŦ⧃āĻšāĻ¤ā§āϤāϰ āϏ⧀āĻŽāĻžāĻ“ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāχ āϏ⧀āĻŽāĻž āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰāĻŦ⧇āύ āύāĻž āϤāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻāĻ•āϜāύ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ⧇āϰ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ, āĻŽā§‡āĻļāĻŋāύ āĻŦāĻž āĻĄāĻŋāĻ­āĻžāχāϏ āĻ…āύ⧁āĻŽā§‹āĻĻāύ⧇āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ āĻāĻ•āϟāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻšāϞ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϗ⧁āĻ—āϞ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡ āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āĻŸā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž ā§§ā§Ģ āĻŦāĻž ⧍ā§Ļ-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āϰāĻžāĻ–āĻžāĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϜāύ āϗ⧁āĻ—āϞ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻĒ⧇āϏ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻšāύ, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ āĻĒā§āϰāĻļāĻžāϏāύāĻŋāĻ• āϏ⧁āĻŦāĻŋāϧāĻž āϏāĻš āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟāϕ⧇ āĻ…āύ⧁āĻŽā§‹āĻĻāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϤāĻžāĻĻ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āϗ⧁āĻ—āϞ āĻ•ā§āϞāĻžāωāĻĄ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ (GCP) āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āϏ⧇āĻļāύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āύ⧀āϤāĻŋāϗ⧁āϞāĻŋ āύāĻŋāϝāĻŧ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž

GCP āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻžāύ⧇āϰ āĻĒā§āϰāĻļāĻžāϏāĻ•āĻĻ⧇āϰ Google Cloud session control āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ GCP āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϘāύ āϘāύ āĻĒ⧁āύāσāĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāϪ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāχ āύ⧀āϤāĻŋ Google Cloud Console, Google Cloud SDK (gcloud CLI āύāĻžāĻŽā§‡āĻ“ āĻĒāϰāĻŋāϚāĻŋāϤ) āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āĻ¸ā§āϕ⧋āĻĒ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻāĻŽāύ āϝ⧇āϕ⧋āύ⧋ āϤ⧃āϤ⧀āϝāĻŧ āĻĒāĻ•ā§āώ⧇āϰ OAuth āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏāϕ⧇ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ āϕ⧋āύāĻ“ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻāĻ•āϟāĻŋ āϏ⧇āĻļāύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āύ⧀āϤāĻŋ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āϏ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧāĻ•āĻžāϞ āĻļ⧇āώ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ⧇, āφāĻĒāύāĻžāϰ API āĻ•āϞāϗ⧁āϞāĻŋ āϰāĻŋāĻĢā§āϰ⧇āĻļ āĻŸā§‹āϕ⧇āύ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϝāĻž āϘāϟāϤ āϤāĻžāϰ āĻŽāϤ⧋āχ āĻ¤ā§āϰ⧁āϟāĻŋ āĻĻ⧇āĻ–āĻžāĻŦ⧇ - āĻ•āϞāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āϟāĻžāχāĻĒ invalid_grant āϏāĻš āĻŦā§āϝāĻ°ā§āĻĨ āĻšāĻŦ⧇; error_subtype āĻ•ā§āώ⧇āĻ¤ā§āϰāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻšāĻžāϰ āĻ•āϰāĻž āĻŸā§‹āϕ⧇āύ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϏ⧇āĻļāύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āύ⧀āϤāĻŋāϰ āĻ•āĻžāϰāϪ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, "error_subtype": "invalid_rapt" )āĨ¤ āϝ⧇āĻšā§‡āϤ⧁ āϏ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧāĻ•āĻžāϞ āϖ⧁āĻŦ āϏ⧀āĻŽāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ (ā§§ āϘāĻ¨ā§āϟāĻž āĻĨ⧇āϕ⧇ ⧍ā§Ē āϘāĻ¨ā§āϟāĻžāϰ āĻŽāĻ§ā§āϝ⧇), āϤāĻžāχ āĻāĻ•āϟāĻŋ auth āϏ⧇āĻļāύ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϚāĻžāϞ⧁ āĻ•āϰ⧇ āĻāχ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϟāĻŋ āϏ⧁āĻ¨ā§āĻĻāϰāĻ­āĻžāĻŦ⧇ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϟ⧁-āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ¸ā§āĻĨāĻžāĻĒāύ⧇āϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāϕ⧇ āĻ‰ā§ŽāϏāĻžāĻšāĻŋāϤ āĻ•āϰāĻž āωāϚāĻŋāϤ āύāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰ āĻĻā§€āĻ°ā§āϘāĻ¸ā§āĻĨāĻžāϝāĻŧā§€ āĻ•āĻžāϜ āĻŦāĻž āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āϕ⧋āύāĻ“ āĻ—ā§āϰāĻžāĻšāĻ• āĻāχ āϜāĻžāϤ⧀āϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āωāĻĒāϰ āϏ⧇āĻļāύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āύ⧀āϤāĻŋ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āύ, āϤāĻŦ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāĻŦ⧇ āĻ•āĻžāϰāĻŖ āϏ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧāĻ•āĻžāϞ āĻļ⧇āώ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻĒā§āϰāĻŽāĻžāĻŖā§€āĻ•āϰāϪ⧇āϰ āϕ⧋āύāĻ“ āωāĻĒāĻžāϝāĻŧ āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤

āφāĻĒāύāĻžāϰ āĻ—ā§āϰāĻžāĻšāĻ•āĻĻ⧇āϰ āĻāχ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϟāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻŦ⧇āύ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āĻāχ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ-āϕ⧇āĻ¨ā§āĻĻā§āϰāĻŋāĻ• āϏāĻšāĻžāϝāĻŧāϤāĻž āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āĻĒāĻĄāĻŧ⧁āύāĨ¤

āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞāĻŋ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇āϰ āϏāĻžāĻĨ⧇ āĻāϕ⧀āĻ­ā§‚āϤ āĻšāϝāĻŧ, āϝāĻž OAuth 2.0 āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύāϕ⧇ āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤ āϏāĻŽāϝāĻŧ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϤ⧇ āφāϰāĻ“ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤