Some sleepless nights with OAuth and Google Drive API scopes

āļāļ°āđāļĢāļāļĩāđāļāļģāđāļŦāđāļāļļāļāļāđāļāļāļāļĢāļ°āđāļŠāļ·āļāļāļāļĢāļ°āļŠāļāđāļāļĩāļĒāļāļāļēāļĒāđāļāđāļĒāļąāļāļĢāļāļāļĄāļēāđāļāđāļŦāļ§āļļāļāļŦāļ§āļīāļ āļŠāļīāđāļāļāļąāđāļāļāļ°āļāļģāđāļŦāđāļāļļāļāđāļāļĨāļĩāđāļĒāļāļāļĨāļāļāđāļ
āļāļąāļāđāļāļīāļāđāļāļāļąāļāļŦāļ§āļ°āļāļĩāđāļāļĩāļ§āļīāļāļĢāļāļāļāļąāļ§āļāļģāļĨāļąāļāļĒāļļāđāļāđāļŦāļĒāļīāļ āļāđāļĄāļĩāļāļĩāđāļĄāļĨāđāļāđāļāđāļāļ·āļāļāđāļāđāļēāļĄāļēāļāļĩāļāļāļĢāļąāđāļāļāļēāļ Google Trust and Safety Team
[Day 30 Reminder] Changes to Restricted Scopes API Access
āđāļĢāļ·āđāļāļāļāļĩāđāļāļāđāļāļēāđāļ§āđāļ§āđāļēāļāļ°āļāļąāļāļāļēāļĢāđāļĨāđāļ§āļāđāļāļĨāļąāļāļāļāļĨāđāļ§āļāđāļĨāļĒāļĄāļēāļāļēāļ āļāļĨāļąāļāļĄāļēāļāđāļēāļāļāļģāđāļāļ°āļāļģāļāļĩāļāļāļĢāļąāđāļ āļāđāđāļĄāđāļāđāļ§āļĒāđāļŦāđāļāļĢāļ°āļāđāļēāļāļĄāļēāļāļāļ§āđāļēāđāļāļīāļĄāļŠāļąāļāđāļāđāļēāđāļŦāļĢāđ

āđāļāļĢāđāļāļĢāļĄāļāļāļāđāļĢāļēāđāļāļĩāđāļĒāļ§āļāđāļāļāļāļēāļĢāļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāļāļąāļāļāļĩ āļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļāļīāļāļ āļēāļāļāđāļēāļĒāļŦāļĢāļ·āļāđāļāļĨāđāđāļāļāļŠāļēāļĢāļāļĩāđāđāļāđāļāļāļĒāļđāđāđāļ Google Drive āļāļķāđāļāđāļāđāļāđāļāđāļāđāļāļĩāļĒāļāļāļēāļĄāļāļģāđāļāļ°āļāļģāđāļāđāļ§āđāļ Google Developer āļŠāļĄāļąāļĒāļāļąāđāļ āđāļĄāļ·āđāļāđāļ§āļĨāļēāļāđāļēāļāđāļāļ§āļīāļāļĩāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāđāļāđāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāđāļāļāļēāļĄāļĒāļļāļāļŠāļĄāļąāļĒ āļāļĢāļēāļāļāļ§āđāļēāļāļāļāđāļāļāđāļāļīāļĄāļāļĩāđāļāļāđāļŦāđāđāļāļĢāđāļāļĢāļĄāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāļĨāđāļāļļāļāļāļāļīāļāđāļ Drive āļāļąāđāļāđāļāļīāļāļāļ§āđāļēāļāđāļĨāļ°āļĄāļĩāļāđāļāļāđāļŦāļ§āđāļāļĩāđāļāļēāļāđāļĄāđāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļģāļāļēāļāđāļāļ·āđāļāđāļāļāđāļāļĨāđ āļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļ§āļēāļĄāļŠāļ°āļāļ§āļ āđāļĨāļ°āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ
āļāļēāļāļāļāļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨāļāđāļāļāđāļĨāđāļ§āđāļāđāļĄāļ·āļāļāļ·āļāļāđāļēāļĒāļĢāļđāļāļŦāļĢāļ·āļāļāļąāļāđāļŦāļĨāļāđāļāļĨāđāđāļāđāļāļĢāļ·āđāļāļāđāļāļāļāļēāļĄāļāļĩāļŦāļĨāļąāļ āļāļēāļāļāļāđāļāđāļŠāđāļāļāđāļāļāļĢāđ āļŦāļĢāļ·āļāļāđāļēāļĒāļ āļēāļāļāļēāļāļĄāļ·āļāļāļ·āļ āļŦāļĢāļ·āļāļāļēāļ§āļāđāđāļŦāļĨāļāļ āļēāļāļāļēāļāđāļāļāđāļāļ āļŦāļĢāļ·āļāļāļĩāđāļĄāļĨāļāļĩāđāļāļđāđāļāđāļēāļŠāđāļāļĄāļēāđāļŦāđ āđāļĒāļāđāļāđāļē Google Drive āļāđāļāļ āđāļĨāđāļ§āļāđāļāļĒāļĄāļēāļāļĩāļĒāđāļāđāļāļĄāļđāļĨāļāļēāļĄāļŦāļĨāļąāļ āļāļēāļāđāļŦāđāļāļāđāđāļĒāļāļŦāļāđāļēāļāļĩāđāļāļāļāļĩāđāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ āļāļąāļāļāļāļāļĩāđāļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨāđāļāđāļāļāļāļĨāļ°āļāļāļāļąāļ
āļĄāļĩāļāļģāđāļāļ°āļāļģāđāļŦāđāđāļāļĨāļĩāđāļĒāļāđāļāđāļāđ āļāļāļāđāļāļāđāļŦāļĄāđ /auth/drive.file āļāļĩāđāļāļĨāļāļāļ āļąāļĒāļāļ§āđāļē
āļāđāļēāđāļĨāļ·āļāļāđāļāđāļāđāđāļĄāđāļāļĒāļēāļāļāļĢāļąāļāđāļāļĨāļĩāđāļĒāļāđāļāļĢāđāļāļĢāļĄ āđāļāļĢāļēāļ°āđāļĄāđāđāļāđāđāļāļ§āđāļēāļāļ§āļēāļĄāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĩāđ āļāļēāļāļĄāļĩāļāļĨāđāļŦāđāļāļēāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāđāļāļīāļĄāļāļĩāđāđāļāļĒāļāļģāđāļāđāļāđāļāļāđāļāļĨāļĩāđāļĒāļāđāļ āļāļāļāļĢāļ°āļāļąāđāļāđāļāļāļĒāļ·āđāļāļāļģāļāļēāļāļāļģāļŦāļāļāđāļŠāđāļāļāļēāļĒ āļāļąāļāļāļąāļāđāļŦāđāļāļāļāļ§āļāđāļāđāļāļāļāļāļāļąāļ§āđāļāļ āļāļĩāđāđāļāļāļ§āđāļēāļāđāļāļāļāļēāļĢāļāļāļŠāļīāļāļāļīāđāļāđāļēāļāļķāļāđāļāļ·āđāļāļāļģāļāļ°āđāļĢāļāđāļēāļ āļŠāđāļāđāļĢāļ·āđāļāļāđāļŦāđ Safety Team āļāļĢāļ§āļāļŠāļāļāļāđāļāļ āļĄāļīāļāļ°āļāļąāđāļāđāļāļĢāđāļāļĢāļĄāļāļ°āđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāđāļāđāļŠāļīāļāļāļīāđāļāđāļēāļāļķāļāļāļąāđāļāļāļĩāļāļāđāļāđāļ

āđāļĒāļāļŦāļīāļāļĨāļāđāļāļāđāļ
āđāļĄāļ·āđāļāļāļĨāļąāļāđāļāļāļķāļāļāļķāļāđāļŦāļāļļāļāļēāļĢāļāđāļāļ·āļāļ§āļąāļāļāļąāđāļ āļāđāļĒāļąāļāļŦāļ§āļēāļāđāļŠāļĩāļĒāļ§āļāļąāļāļāļēāļĢāļāļīāļāļŠāļīāļāđāļāļāļļāđāļĄāļāđāļēāļĄāļāļāļāļāļąāļ§āđāļāļ āļāđāļēāļāļ°āđāļāļīāļāļāļēāļāļāļ§āļēāļĄāđāļŦāļāļ·āđāļāļĒāļĨāđāļēāļāļĩāđāļāļĒāļēāļĒāļēāļĄāļāļīāļāļ§āļāđāļ§āļĩāļĒāļāļĄāļēāļŦāļĨāļēāļĒāļ§āļąāļ āđāļĨāđāļ§āļĒāļąāļāļŠāļĢāļļāļāđāļĄāđāđāļāđ āļŠāļļāļāļāđāļēāļĒāļāļķāļāļāļąāļāđāļāļ§āđāļēāļāļ°āđāļĢāļāļ°āđāļāļīāļāļāļķāđāļāļāđāļēāļāđāļāļĩāđāļĒāļ§āļāđāļāļ°āđāļāđāļĢāļđāđ āđāļĒāļāļŦāļīāļāļĨāļāđāļāļāđāļ āđāļĨāđāļ§āđāļāđāļēāļāļđāļ§āđāļēāļāđāļģāļāļĢāļ°āđāļāļīāđāļĄāđāļĨāđāļ§āļĄāļĩāļāļ°āđāļĢāļāļļāļāļāļķāđāļāļĄāļēāļāđāļēāļ
āļāļīāļāļāļēāļĢāļāļāđāļāđ /auth/drive āđāļĨāđāļ§āđāļāļĨāļĩāđāļĒāļāđāļāđāļ /auth/drive.file āđāļāļ āļĨāļāļāļāļāļŠāļāļāļāļĢāđāļēāļ§ āđ āļāļēāļĄāđāļāļŠāđāļāđāļēāļāļĩāđāļāļāļĢāļ§āļāļĢāļ§āļĄāđāļ§āđāļāđāļāđāļēāļāļ°āļāđāļēāļ
āđāļāđāļēāļ§āļąāļāļāļąāđāļāđāļāļ āđāļĢāļīāđāļĄāļĄāļĩāđāļāđāļāļāļąāļāļŦāļēāđāļāđāļēāļĄāļē āđāļĢāļīāđāļĄāļāļēāļāļāđāļāļāđāļāļāļĩāļĄāļāļąāļāļāļāļĢāđāļ āđāļāđāļāļ§āđāļēāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāđāļāđāđāļāļĢāđāļāļĢāļĄāđāļāđ āļŦāļāđāļēāļāļāļĄāļĩāļāđāļāļāļ§āļēāļĄāļāđāļāļāļ§āđāļē "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ"

"āļāļ§āļĒāđāļĨāđāļ§" āļāļķāļāđāļāđāļ
āļĢāļđāđāļŠāļķāļāđāļŦāļĄāļ·āļāļāđāļĨāļāļāļĨāđāļĄāļāļĢāļāļŦāļāđāļē āđāļāļāļāļĩāđāļāđāļāļāđāļāļīāļāļŦāļāđāļēāļāļĒāđāļēāļāđāļāļĩāļĒāļ§ āļāđāļēāđāļāļĢāđāļāļĢāļĄāđāļāđāļāļēāļāđāļĄāđāđāļāđāļĢāļ°āļāļąāļāļŦāļĨāļēāļĒāļ§āļąāļāđāļāļĒāđāļĄāđāļĄāļĩāļāļģāļŦāļāļ āđāļĄāđāđāļāđāļĢāļ°āļāļāđāļāļāđāļēāļāļąāļāļāđāļāļ āļŦāļĢāļ·āļāļāļīāļāđāļāļāļĢāđāđāļāđāļāļĨāđāļĄāļāļĩāđāđāļāđāļāđāļŦāļāļļāļŠāļļāļāļ§āļīāļŠāļąāļĒ
āļŦāļēāļāļāļīāļāļāļēāļĢāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāļīāļāļāļīāļĨāļŠāđāļāļāļāļ āđāļāđāļāđāļāļīāļāđāļĄāđāđāļāđ āđāļāļĢāļēāļ°āļāļ§āļēāļĄāļāļĢāļ°āļĄāļēāļāļāļąāđāļāļāđāļēāļāļīāļāļāļĨāļēāļ āđāļĨāđāļ§āļāļāļĒāļāļĨāļąāļāđāļāļāļĒāđāļēāļāđāļāļīāļĄāđāļĄāđāđāļāđāļāļ°āļāļģāļĒāļąāļāđāļ āļāļĄāđāļĄāđāļāļąāļāđāļāđāļāļīāļāļāļķāļāđāļāļāļŠāļģāļĢāļāļ āļŦāļēāļāđāļāļīāļāļāļ§āļēāļĄāļāļąāļāļāļ°āļĨāļēāļĒāļĢāļ°āļāļąāļāļāļĩāđāļĄāļēāļāđāļāļ
āļŦāļĨāļąāļāļāļēāļāļŠāļģāļĢāļ§āļāļŠāļāļēāļāļāļēāļĢāļāđāļāļēāļāļāđāļāļĄāļđāļĨ log āļĨāđāļēāļŠāļļāļ āļāļāļ§āđāļēāļāļđāđāđāļāđāļŠāđāļ§āļāđāļŦāļāđāļĒāļąāļāļāļāđāļāđāļāļēāļāđāļāđāļāļāļāļī āļĄāļĩāđāļāļĩāļĒāļāļāļēāļāļĢāļēāļĒāđāļāđāļēāļāļąāđāļāļāļĩāđāđāļāđāļāļĄāļēāļ§āđāļēāđāļāđāļĢāļąāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĩāđ
āļāļąāļāļ§āđāļēāđāļāđāļāļāđāļēāļ§āļāļĩāđāļĨāđāļ āđ āļāļĢāđāļāļĄāļāļąāļāļāļ§āļēāļĄāļŠāļąāļāļŠāļ āđāļĄāđāđāļāđāļēāđāļāļ§āđāļēāļāļģāđāļĄāļāļāļāļĄāļēāđāļāđāļāđāļāđāļāļāļąāđāļ

āļāļēāļĄāļāļĩāđāđāļāđāļāļāļŠāļāļāđāļĄāļ·āđāļāļāļ·āļ āļāļ°āļĄāļĩāļāđāļāļāļ§āļēāļĄāđāļāđāļāđāļāļ·āļāļāļāļĢāļąāđāļāđāļĢāļ āđāļĄāļ·āđāļāļāļđāđāđāļāđāđāļĨāļ·āļāļ "āļāļāļļāļāļēāļ" āđāļĨāđāļ§ āļāļ§āļĢāđāļāđāļāļēāļāđāļāļĢāđāļāļĢāļĄāļāđāļāđāļāđāļāļēāļĄāļāļāļāļī āļĒāļāđāļ§āđāļāļāļēāļĢāļāļģāļāļēāļāļŠāđāļ§āļāļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļāļāļąāļ Google Drive āļāļēāļāļāļĢāļāļĩāđāļāļēāļāđāļĄāđāļāļķāļāļāļēāļāļĄāļĩāļāļąāļāļŦāļē āđāļāđāļ āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāđāļāļĨāđāļāļēāļāđāļāļĨāđ āđāļāļ·āđāļāļāļāļēāļāļāđāļāļāļģāļāļąāļāļāļĩāđāđāļāđāļĄāļāļ§āļāļāļ§āđāļēāđāļāļīāļĄāļāļāļ scope āđāļŦāļĄāđ
āļāļēāļāļāļēāļĢāļŠāļģāļĢāļ§āļāļāļāļ§āđāļē āļāļđāđāđāļāđāļŦāļĨāļēāļĒāļĢāļēāļĒāđāļāđāļāļēāļāđāļāđāļāļēāļĄāļāļāļāļīāđāļāļĒāđāļĄāđāļĄāļĩāļāđāļāļāļ§āļēāļĄāđāļāđāļāđāļāļ·āļāļ (āđāļāļĨāļ) āļāļēāļāļĢāļēāļĒāļĄāļĩāļāđāļāļāļ§āļēāļĄāđāļāđāļāđāļāļ·āļāļ āđāļĄāļ·āđāļāļāļāļļāļāļēāļāđāļĨāđāļ§āļāđāđāļāđāļāļēāļāđāļāđāļāđāļāđāļŦāļĄāļ·āļāļāļāļąāļāļāļĩāđāđāļāđāļāļāļŠāļāļ

āļāļđāđāđāļāđāļŠāđāļ§āļāļāđāļāļĒāļāļĩāđāļĄāļĩāļāļąāļāļŦāļē āđāļāļīāļāļāļēāļāđāļŦāļāļļāļāļąāļāđāļāļīāļ 2 āļāļĢāļ°āļāļēāļĢ
āđāļāļīāļāļāļēāļāļāļąāļ§āļāļđāđāđāļāđāđāļāļāļŠāļąāđāļāļāļāļāļŠāļīāļāļāļīāļāļĩāđāđāļāļĒāļāļāļļāļāļēāļāļāļāļ
āđāļĨāļ°āđāļāļīāļāļāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļĒāļąāļāļĄāļĩāđāļāđāļāļŦāļĨāļļāļ āļŠāđāļ§āļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāļāļāđāļāđ scope āđāļāļīāļĄāļāļĒāļđāđ āļāļģāđāļŦāđāđāļāļīāļāļāđāļāļāļ§āļēāļĄāļāđāļāļāļ§āđāļē "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ"
āđāļĄāļ·āđāļāđāļāđāđāļāđāļāļĢāđāļāļĢāļĄāļāļĩāļāļāļĢāļąāđāļ āļāđāđāļĄāđāļĄāļĩ "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ" āļāļķāđāļāļĄāļēāđāļĨāđāļ§ āđāļāđāļĒāļąāļāļĄāļĩāļāļąāļāļŦāļēāļāļĩāđāđāļāļīāļāļāļēāļāļāđāļāļāļģāļāļąāļāļāļāļ scope āđāļŦāļĄāđ āļāļĩāđāļāđāļāļāļŦāļēāļāļēāļāđāļāđāđāļāļāđāļāđāļ
"āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ"
āļāļēāļāļāļģāļāļāļīāļāļēāļĒāļāļāļāļāļāļāđāļāļāđāļŦāļĄāđ /auth/drive.file
āļāļđ āđāļāđāđāļ āļŠāļĢāđāļēāļ āđāļĨāļ°āļĨāļāđāļāļĨāđ Google āđāļāļĢāļāđāđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ
See, edit, create, and delete only the specific Google Drive files you use with this app
āđāļāļĩāļĒāļāļāļąāļāļāļāļāđāļāļāđāļāļīāļĄ /auth/drive
āļāļđ āđāļāđāđāļ āļŠāļĢāđāļēāļ āđāļĨāļ°āļĨāļāđāļāļĨāđ Google āđāļāļĢāļāļāļąāđāļāļŦāļĄāļ
See, edit, create, and delete all of your Google Drive files
āļŠāļģāļŦāļĢāļąāļāļāļĄāđāļĄāđāļ§āđāļēāļāļ°āļāļāļāļāļīāļ āļāļĩāļĨāļąāļāļāļēāļāļīāļ āļāļāļŦāļąāļ§āļŠāļĄāļāļāļāļāļāđāļāļāđāđāļĄāđāđāļāđāļāļ§āļēāļĄāļāļĢāļ°āļāđāļēāļāđāļĨāļĒāļ§āđāļēāļāļīāļĒāļēāļĄāļāļāļāđāļāļĨāđ "āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ" āļŦāļĄāļēāļĒāļāļķāļāļāļ°āđāļĢ āđāļāļĨāđāđāļāļāđāļŦāļāļāļĩāđāđāļāđ āđāļĨāļ°āđāļāļāđāļŦāļāļāļĩāđāđāļĄāđāđāļāđ āļĄāļĩāļ§āļīāļāļĩāđāļāđāļāļāļĒāđāļēāļāđāļĢ āđāļĨāļ°āļŦāļēāļāđāļĄāđāđāļāđ āļĄāļĩāļ§āļīāļāļĩāļŦāļĢāļ·āļāđāļĄāđāļāļĩāđāļāļ°āļāļģāđāļŦāđāļāļķāļāļāļĨāļēāļĒāđāļāđāļāđāļāļĨāđāļāļĩāđ "āđāļāđāļāļąāļāđāļāļāļāļĩāđ" āđāļāļ·āđāļāđāļŦāđāđāļāđāļēāđāļāļāļāđāļāļēāļĄ scope āđāļŦāļĄāđ
āļŠāļļāļāļāđāļēāļĒāļāļķāļāđāļāđāļāļģāļāļāļāļāļēāļāļāļēāļĢāļāļāļĨāļāļāļāđāļ§āļĒāļāļąāļ§āđāļāļ
āļŦāļēāļāļāļļāļāļŠāļąāđāļ export āļāđāļāļĄāļđāļĨāđāļāļĢāļēāļĒāļāļēāļ āđāļāđāļāđāļāļĨāđ Sheets āļāļĩāđāļŠāļĢāđāļēāļāđāļŦāļĄāđāļāļēāļāđāļāļĢāđāļāļĢāļĄ āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāļāļļāļāļŠāļēāļĄāļēāļĢāļāļŠāļąāđāļ export āļĢāļēāļĒāļāļēāļāļāļēāļāđāļāļĢāđāļāļĢāļĄ āđāļāđāļāļāļāļĩāđāļāđāļāļĄāļđāļĨāđāļāļīāļĄ āđāļāļĒāđāļāđāđāļāļĨāđ Sheets āļāļąāđāļāđāļāđ
āļŦāļēāļāļāļļāļāļŠāļĢāđāļēāļāđāļāļĨāđ Sheets āļāļķāđāļāļĄāļēāđāļŦāļĄāđāđāļāļ āļāļēāļāļŦāļāđāļēāļāļ UI āļāļāļ Drive āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāļāļļāļāļŠāļēāļĄāļēāļĢāļ "āđāļĄāđ" āļŠāļēāļĄāļēāļĢāļāļŠāļąāđāļ export āļĢāļēāļĒāļāļēāļāļāļēāļāđāļāļĢāđāļāļĢāļĄ āđāļāđāļāļāļāļĩāđāļāđāļāļĄāļđāļĨāđāļāļīāļĄ āđāļāļĒāđāļāđāđāļāļĨāđ Sheets āļāļąāđāļ
āļāļąāđāļāļŠāļāļāđāļāļĨāđ āļŦāļēāļāļāļđāđāļāļŦāļāđāļēāļāļ UI āļāļāļ Drive app āļāđāļēāļāļāđāļĄāļĩāļāļ·āđāļāļāļļāļāđāļāđāļāđāļāđāļēāļāļāļāđāļŦāļĄāļ·āļāļāļāļąāļ āļŠāļģāļŦāļĢāļąāļāļāļđāđāđāļāđ āđāļāđāļāđāļĢāļ·āđāļāļāļāļĩāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāļīāļāļēāļĒāđāļŦāđāđāļāđāļēāđāļāđāļāđāļ§āđāļē āļāļģāđāļĄāļāļēāļāļāļĢāļąāđāļāđāļāļĢāđāļāļĢāļĄ export āļāđāļāļĄāļđāļĨāđāļāđāļāđāļē sheets āđāļāļīāļĄāđāļāđ āđāļāđāļāļēāļāļāļĢāļąāđāļāļāđāđāļĄāđāđāļāđ

āļāļēāļĢāļāļģāļāļēāļāļĨāļąāļāļĐāļāļ°āļāļĩāđ āļāļģāđāļāđāļāļāđāļāļāđāļāļīāđāļĄ scope /auth/spreadsheets āđāļāļ·āđāļāđāļŦāđāđāļāļĢāđāļāļĢāļĄāļŠāļēāļĄāļēāļĢāļ āļāđāļēāļāđāļĨāļ°āđāļāļĩāļĒāļ āđāļāļĨāđ sheets āļāļĩāđāļāļđāđāđāļāđāļĄāļĩāļŠāļīāļāļāļīāđāļāđāļēāļāļķāļ āđāļāļĒāđāļĄāđāļāđāļāļāļāļīāļāđāļāļ·āđāļāļāđāļ "āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ"
Thumbnail āđāļ Picker
āđāļāļĢāđāļāļĢāļĄāđāļāđ Picker API āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļģāļāļēāļāđāļĨāļ·āļāļāļĢāļđāļāļ āļēāļāļāļēāļ Drive āđāļāļ·āđāļāđāļāļāđāļāđāļēāļāļąāļāļāđāļāļĄāļđāļĨāđāļāđāļāļĢāđāļāļĢāļĄ āđāļāđāļ āļāļēāļĢāļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨ sales order āļāđāļāļ°āđāļāļāļŦāļĨāļąāļāļāļēāļāđāļāļĨāđ PDF āļŦāļĢāļ·āļāļ āļēāļāļāđāļēāļĒāļāļāļāđāļāļŠāļąāđāļāļāļ·āđāļāļāļēāļāļĨāļđāļāļāđāļē

āļāļĢāļēāļāļāļ§āđāļēāđāļĄāļ·āđāļāđāļāļĨāļĩāđāļĒāļāđāļāđāļāđ scope āđāļŦāļĄāđ āļ āļēāļāļāļąāļ§āļāļĒāđāļēāļāļāļāļāđāļāļĨāđāļŠāđāļ§āļāđāļŦāļāđāļāļĩāđāđāļāļĒāđāļŠāļāļāđāļŦāđāđāļŦāđāļāļāļāļāđāļĨāļ·āļāļ āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāđāļāđ āļāļģāđāļŦāđāļāļēāļĢāđāļĨāļ·āļāļāđāļāļĨāđāļĒāļēāļāļĨāļģāļāļēāļ āđāļĄāđāđāļŦāļĄāļ·āļāļāđāļāļīāļĄ
āļŠāļąāļāļāļīāļĐāļāļēāļāļ§āđāļē āđāļāļĨāđāļāļĩāđāđāļĄāđāđāļāđāļēāđāļāļ·āđāļāļāđāļ "āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ" āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāļ āļēāļāļāļąāļ§āļāļĒāđāļēāļ āđāļāđāļāļĩāđāļĒāđāļāļāđāļĒāđāļāļāļĒāļđāđāļāļĢāļāļāļĩāđ āļāļģāđāļĄ Picker āļĒāļąāļāđāļŠāļāļāđāļāļĨāđāđāļŦāļĨāđāļēāļāļąāđāļāļĄāļēāđāļŦāđāđāļĨāļ·āļāļ āđāļāļĄāļĒāļąāļāļŠāļēāļĄāļēāļĢāļāđāļĨāļ·āļāļāļĄāļēāđāļāđāļāđāļ§āļĒ āđāļĄāļ·āđāļāđāļĨāļ·āļāļāļĄāļēāđāļĨāđāļ§āđāļāļĢāđāļāļĢāļĄāļāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļ metadata āđāļ āđ āđāļāđāļ thumbnailLink āđāļāļ·āđāļāđāļāđāđāļŠāļāļāļ āļēāļāļāļąāļ§āļāļĒāđāļēāļ
āđāļāļ·āđāļāđāļŦāđ Picker āđāļŠāļāļāļ āļēāļāļāļąāļ§āļāļĒāđāļēāļāļāļāļāđāļāļĨāđāļāļąāđāļāļŦāļĄāļ āđāļāļĒāđāļĄāđāļāļīāļāđāļāļ·āđāļāļāđāļ "āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ" āļāļģāđāļāđāļāļāđāļāļāđāļāļīāđāļĄ scope /auth/docs āļāļķāđāļāļāļģāļāļąāļāļāļāļāđāļāļāđāļŦāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāļāļēāļ°āđāļāļĨāđāļāļĩāđāđāļŦāđāļāđāļ Drive app
100 users limit
āļāļĢāļ°āđāļāđāļāļāļ§āļēāļĄāļāļąāļāļāđāļāļāļŠāļģāļŦāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļĄāļĩāļāļđāđāđāļāđāđāļāļīāļ 100 āļĢāļēāļĒ āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāļāđāļāđ scope āđāļŦāļĄāđ āđāļāļāļĨāļļāđāļĄ sensitive scopes āđāļāđāļ /auth/spreadsheets , /auth/docs ) āļŦāļĢāļ·āļ restricted scopes āđāļāđāļ /auth/drive āļāļ°āļāđāļāļāđāļāđāļāļāļāļāļĢāļ§āļāļŠāļāļāļāđāļāļ āđāļĨāļ°āļāļēāļāđāļāđāđāļ§āļĨāļēāļāļēāļāļāļķāļ 46 āļŠāļąāļāļāļēāļŦāđ

āļĢāļ°āļŦāļ§āđāļēāļāļāļĩāđāļĢāļāļāļĢāļ§āļāļŠāļāļ āđāļāļĢāđāļāļĢāļĄāļĄāļĩāļŠāļāļēāļāļ°āđāļāđāļ unverified app āļŦāļēāļāļĄāļĩāļāļēāļĢāļāļāđāļāđ scope āđāļŦāļĨāđāļēāļāļąāđāļāļāļ°āđāļāļāļāđāļāļāļ§āđāļē "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ"
āđāļāļ·āđāļāđāļĄāđāđāļŦāđāđāļŠāļāļāļāđāļāļāļ§āļēāļĄāļāļĩāđāļāđāļēāļāļāđāļāļāļąāļāļāļĨāđāļēāļ§ āļāļķāļāļāđāļāļāļŦāļēāļāļēāļāļāļģāđāļŦāđāđāļāļĢāđāļāļĢāļĄāļāļāđāļāđāļāļēāļāđāļāđāļāļąāđāļ§āļāļĢāļēāļ§ āđāļāļĒāļĒāļąāļāđāļĄāđāđāļāđ scope āđāļŦāļĨāđāļēāļāļąāđāļ

āļĒāļāđāļ§āđāļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļĒāļąāļāļĄāļĩāļāļđāđāđāļāđāđāļĄāđāļāļķāļ 100 āļĢāļēāļĒ āļāļ°āđāļĄāđāļāđāļāļ "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ" āđāļāđāđāļŠāļāļāđāļāđāļāļāđāļāļāļ§āļēāļĄāđāļāļ·āļāļāļ§āđāļē "hasn't verified this app" āļŠāļēāļĄāļēāļĢāļāđāļāđ scope āđāļŦāļĄāđāđāļāđāļāļąāļāļāļĩ āđāļāļĒāđāļĨāļ·āļāļ "advanced" āđāļāļ·āđāļāđāļāđāļēāđāļāļŠāļąāđāļāļāļāļļāļāļēāļ
Workaround
āļāļēāļĢāđāļāđāļāļąāļāļŦāļēāļāļąāđāļ§āļāļĢāļēāļ§ āļāļĢāļāļĩāļāļīāļāļāđāļāļāļģāļāļąāļ scope /auth/drive.file āļāļģāđāļŦāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļ metadata āļāļāļāļāļēāļāđāļāļĨāđ āđāļĨāļ°āļĒāļąāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāļāļāļļāļĄāļąāļāļīāđāļāļ·āđāļāđāļāđ sensitive scopes āđāļāļīāđāļĄāđāļāļīāļĄāđāļāđ
1. thumbnailLink
āđāļāļĨāđāđāļ Drive āļŠāļēāļĄāļēāļĢāļāđāļĨāļ·āļāļāđāļāļĒāđāļāđ Picker API āļāļķāđāļāļāļēāļāđāļāđāļāđāļāļĨāđāļāļāļāļāļąāļāļŦāļĢāļ·āļāđāļāļĨāđāļāļĩāđāļāļđāđāļāļ·āđāļāđāļāļĢāđāđāļŦāđāļāļąāļ
āļāļđāđāđāļāđāļĄāļĩāļŠāļēāļĄāļēāļĢāļāđāļŦāđāļāđāļĨāļ°āđāļĢāļĩāļĒāļāļāļđāđāļāļĨāđāđāļŦāļĨāđāļēāļāļąāđāļāļāđāļēāļ Drive app āđāļāđ āđāļāđāđāļāļĢāđāļāļĢāļĄāļāļĨāļąāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāļĨāđāđāļŦāļĨāđāļēāļāļąāđāļ āļŦāļēāļāļāļđāđāđāļāđāļāļāļļāļāļēāļāļāļēāļĄāļāļāļāđāļāļāđāļŦāļĄāđ
āđāļāļĢāđāļāļĢāļĄāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļāđāļē thumbnailLink āđāļāļ·āđāļāđāļŠāļāļāļ āļēāļāļāļąāļ§āļāļĒāđāļēāļ āđāļāđāļĄāļĩāļ§āļīāļāļĩāđāļāđ id āļāļāļ file āļĄāļēāļŠāļĢāđāļēāļāđāļāđāļ URL āđāļāļāđāļāđ
https://lh3.googleusercontent.com/XXXX
āđāļāļ·āđāļāļāđāļāļŠāļģāļāļąāļāļāļāļāļāļēāļĢāļāļģ url āļāļĩāđāļĄāļēāđāļāđāđāļŠāļāļ āļāļ°āļāđāļāļāļĢāļ°āļāļļ referrerpolicy="no-referrer" āđāļ§āđāđāļ tag <img> āļāđāļ§āļĒ āļĄāļīāļāļ°āļāļąāđāļāļāļ°āđāļāļīāļ HTTP error 403
<img
src="https://lh3.googleusercontent.com/XXXX"
referrerpolicy="no-referrer"
/>
āļāļģāļŠāļąāđāļāđāļāļīāđāļĄāđāļāļīāļĄāļŠāļģāļŦāļĢāļąāļāļāļģāļŦāļāļāđāļāļ·āđāļāļāđāļāļĢāļđāļāļ āļēāļāļāļĩāđāļāđāļāļāļāļēāļĢāļāļđāļāļēāļ Gist āļāļģāđāļāļ°āļāļģ referrerpolicy āļāļēāļ Stack Overflow
2. webViewLink (alternateLink)
āđāļāđāļāđāļāļĩāļĒāļ§āļāļąāļāļāļĢāļāļĩāļāļāļ thumbnail āđāļāļĨāđāļāļĩāđāđāļĨāļ·āļāļāļāļēāļ Picker āđāļāđ āđāļāđāđāļāļĢāđāļāļĢāļĄāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļ āļāļģāđāļŦāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļāđāļē webViewLink (alternateLink āļŠāļģāļŦāļĢāļąāļ Drive API v2) āđāļāļ·āđāļāļāļĩāđāļāļĨāļąāļāđāļāļŦāļēāđāļāļĨāđāļāđāļāļāļāļąāļāđāļ Drive
āļāļāļāļīāđāļĨāđāļ§ Picker āļāļ°āļāļāļ embedUrl āđāļĨāļ° url āļāļķāđāļāđāļāđāđāļāļāđāļāđ āļŦāļĢāļ·āļāļŦāļēāļāļāđāļāļāļāļēāļĢāļŠāļĢāđāļēāļ url āļāļķāđāļāļĄāļēāđāļāļāļāļēāļ id āļāļāļ file āļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđāļāļąāļāļāļĩāđ
https://drive.google.com/file/d/XXXX/view?usp=drivesdk
āļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāļāļēāļĢāļāļģāļŦāļāļāļāđāļē usp āļāļđāđāļāđāļāļēāļ Stack Overflow

āļŠāļĢāļļāļ
āđāļŦāļāļ·āđāļāļĒ!! āļāļāļāļāļāļŦāļĨāļēāļĒāļāļ·āļ āļāļ§āđāļēāļāļ°āđāļĢāļĩāļĒāļāđāļĢāļĩāļĒāļāļŠāļāļēāļāļāļēāļĢāļāđāļāļāļāļĄāļēāđāļāđ āļāļāļ§āļēāļāđāļāļ§āđāļēāļĒāļąāļāļāļāļĢāļąāļāļĄāļ·āļāļāļĒāļđāđ
āđāļāļāļāļĩāđāļāļīāļāđāļāļ·āđāļāļāđāļ 100 users limit āđāļāđāļĨāđāļ§ āđāļĄāđāļĄāļĩāļ§āļīāļāļĩāļāđāļēāļĒāđāļāļ·āđāļāļāļāļŠāļāļāđāļāļĢāđāļāļĢāļĄāļāļąāļ§āđāļāļ āđāļĄāļ·āđāļāļāđāļāļāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ scopes
āđāļāļīāļĄāđāļāļĢāđāļāļĢāļĄāđāļāđ Google Drive API scope āđāļāļāđāļĄāđāļĄāļĩāļāđāļāļāļģāļāļąāļāļĄāļēāļŦāļĨāļēāļĒāļāļĩ
Google Safety Team āđāļāđāļāđāļŦāđāļāļāļāļ§āļ āđāļāļ°āļāļģāđāļŦāđāļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āļŦāļēāļāđāļāđāļāđāļāđāļāđāļāļ§āļĢāđāļāļĨāļĩāđāļĒāļāđāļāđāļāđ scope āđāļŦāļĄāđ āļāļĩāđāļāļģāļāļąāļāļāļāļāđāļāļāđāļāđāļēāļāļĩāđāļāļģāđāļāđāļ
āļāļāļĨāļāļāđāļāļĨāļĩāđāļĒāļāđāļāđāļāđ scope āđāļŦāļĄāđāļāļēāļĄāļāļģāđāļāļ°āļāļģ āļāļēāļĢāđāļāđāļāļēāļāļāļąāđāļ§āđāļāđāļĄāđāļĄāļĩāļāļąāļāļŦāļē
āļāļąāļāļŠāļīāļāđāļāđāļāļĨāļĩāđāļĒāļ scope āļāļąāļāđāļāļĢāđāļāļĢāļĄāļāļļāļāđāļāđāļĄ āđāļĨāđāļ§āļāđāđāļāļāļāļąāļāļŦāļēāđāļāļŠāđāļāđāļāļēāļāļāļĢāļīāļāļāļāļāļāļđāđāđāļāđāļāļēāļāđāļāļāđ (āđāļāļĢāđāđāļāļĨāđāđāļĨāļ°āļāļīāļāļāđāļāđāļāļĄāļđāļĨāđāļāđāļē Sheets)
āļāļđāđāđāļāđāđāļāļīāļĄāļāļĩāđāļĒāļąāļāđāļĄāđāļāļāļāļāļēāļĢāļāļāļļāļāļēāļ scope āđāļāļīāļĄ āļĒāļąāļāļāļāđāļāđāļāļēāļāđāļāđāđāļŦāļĄāļ·āļāļāđāļāļīāļĄ
āļāļđāđāđāļāđāđāļŦāļĄāđāļŦāļĢāļ·āļāļāļđāđāļāļĩāđāļāļāļāļāļēāļĢāļāļāļļāļāļēāļ scope āđāļāļīāļĄāļāļāļ āđāļāļĢāđāļāļĢāļĄāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāļĒāļāļĨāļąāļāđāļāļāļāļāļĩāļ āļāļķāļāļāđāļāļāđāļāđ scope āđāļŦāļĄāđāļāļĩāđāļāļģāļāļąāļāļāļāļāđāļāļ
scope āđāļŦāļĄāđ āļāļģāļāļąāļāđāļŦāđāđāļāđāļēāļāļķāļāđāļāļĨāđāđāļāđāļāļĢāļāđ "āđāļāļāļēāļ°āļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ" āđāļāđāļāļāļ°āđāļĢāļāļĩāđāļāļāļīāļāļēāļĒāđāļŦāđāļāļđāđāđāļāđāđāļāđāļēāđāļāļĒāļēāļ āļāļģāđāļĄāļāļēāļāļāļāļāļģāļāļēāļāđāļāđāđāļŦāļĄāļ·āļāļāđāļāļīāļĄ āđāļāđāļāļēāļāļāļāļāļģāđāļĄāđāđāļāđ āļāļēāļāđāļāđāļāļāļĩāđāļāļđāđāđāļāđāļĄāļĩāļāļāļļāļāļēāļ scope āđāļāļīāļĄāļāļĒāļđāđ āļāļāļ°āļāļĩāđāļāļēāļāļāļāđāļĄāđāļĄāļĩ āļŦāļĢāļ·āļāļāļēāļāđāļāđāļāļāļĩāđāđāļāļĨāđāļāļēāļāđāļāļĨāđāđāļāđāļāđāļāļĨāđāļāļĩāđāđāļāđāļāļąāļāđāļāļāļāļĩāđ āļāļāļ°āļāļĩāđāļāļēāļāđāļāļĨāđāđāļĄāđāđāļāđ
āđāļāļ·āđāļāđāļŦāđāļāļģāļāļēāļāđāļāđāđāļāđāļē scope āđāļāļīāļĄ āļāļģāđāļāđāļāļāđāļāļāļāļāđāļāđ scope āđāļāļīāđāļĄāđāļāļīāļĄ āđāļāđāļĒāļąāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđāļāļąāļāļāļĩ āļāļāļāļ§āđāļēāļāļ°āļĄāļĩāļŠāļāļēāļāļ°āđāļāđāļ verified app
āļĢāļ°āļŦāļ§āđāļēāļāļāļĩāđāļĢāļ reverify app āđāļāļĢāđāļāļĢāļĄāļĒāļąāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļāđāļāđāļŠāļīāļāļāļīāđāļāļīāđāļĄāđāļāļīāļĄ āđāļāļĢāļēāļ°āļāļ°āļāļīāļ "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ" āđāļāļ·āđāļāļāļāļēāļāļĄāļĩāļāļđāđāđāļāđāļĢāļ§āļĄāđāļāļīāļ 100 āļĢāļēāļĒ āļāļķāļāļāđāļāļāļāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāđāļŦāđāļāļģāļāļēāļāđāļāđāļāļģāļāļąāļāđāļāđāļēāļāļĩāđ scope āđāļŦāļĄāđāļĒāļīāļāļĒāļāļĄ
āļĢāļāļāļāļāļ§āđāļēāđāļāđ verified app āđāļĨāđāļ§ āļāļāļāļāļąāđāļāļāļķāļāļāđāļāļĒāļāļĢāļąāļāđāļāļĢāđāļāļĢāļĄāļāļĩāļāļĢāļāļāđāļŦāđāļāļģāļāļēāļāļāļąāļ scope āđāļāļīāđāļĄāđāļāļīāļĄ
āđāļāļāļāļĩāđāļĒāļąāļāļāļāļĄāļĩāļāļĒāļđāđāļāđāļēāļ āļāļąāļāđāļāļīāļāļāļāļāđāļāļāđāļāļĢāđāļāļĢāļĄāđāļŦāđāļĢāļāļāļĢāļąāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāļāđāļēāļāđāļāļāđāļāļĩāļĒāļ āđ āļāļĢāļ§āļāļ§āđāļēāļŦāļēāļāļāļđāđāđāļāđāđāļāļĒāļāļāļļāļāļēāļ scope āđāļāļīāļĄāļāļĒāļđāđāđāļĨāđāļ§ āļāđāđāļŦāđāđāļāļĢāđāļāļĢāļĄāđāļāđāļāđāļāđāļ āļĒāļąāļāđāļĄāđāļāđāļāļāđāļāļĨāļĩāđāļĒāļāđāļāļāļāđāļāđ scope āđāļŦāļĄāđ
āļāļąāļāļāļąāđāļāļāļđāđāđāļāđāđāļāļīāļĄāļāļķāļāļĒāļąāļāļāļāđāļāđāļāļēāļāđāļāđāļāļēāļĄāđāļāļīāļĄ āđāļĄāļ·āđāļāđāļĄāđāđāļāđāļāļāđāļāđ scope āđāļŦāļĄāđāļāļķāļāđāļĄāđāļĄāļĩāļāđāļāļāļ§āđāļē "āđāļāļāļāļĩāđāļāļđāļāļāļĨāđāļāļ" āđāļŦāđāļāļāđāļ āļŦāļĢāļ·āļāļāļđāļāļāļģāļāļąāļāļāļāļāđāļāļāļāļāļāļģāļāļēāļāđāļāđāđāļĄāđāđāļāđāļēāđāļāļīāļĄ
āļāļđāđāļāļĩāđāđāļāđāļĢāļąāļāļāļĨāļāļĢāļ°āļāļāļāļķāļāđāļŦāļĨāļ·āļāđāļāļāļēāļ°āļāļđāđāđāļāđāđāļŦāļĄāđ āļŦāļĢāļ·āļāļāļđāđāļāļĩāđāļāļāļāļāļēāļĢāļāļāļļāļāļēāļ scope āđāļāļīāļĄāđāļāđāļēāļāļąāđāļ
āļĢāļ°āļŦāļ§āđāļēāļāļāļĩāđāļāđāļāļāļ§āđāļēāđāļĢāļ·āđāļāļāļāļĩāđ āđāļāļāđāļĢāļ·āđāļāļāļāļĩāđāđāļĄāđāļŠāļāļēāļĒāđāļāļāđāļāļāđāļāđāļēāļĄāļē āļāļāļ§āđāļēāļāļāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄāđāļāđ Drive API v2 āļĒāļąāļāđāļĄāđāđāļāđāļāļĢāļąāļāļāļĢāļļāļāđāļŦāđāđāļāđāļ v3 āļāļķāđāļāļāļēāļĢāļāđāļēāļāļāļīāļāļāļ·āđāļāļāđāļāļĄāļđāļĨāļŠāļģāļāļąāļāļāļēāļāļŠāđāļ§āļāđāļāļāļāđāļēāļāļāļąāļāļāđāļāļāļāđāļēāļāļĄāļēāļ āļāļēāļĢāļāđāļāļāļ§āđāļēāļāđāļāļĄāļđāļĨāļĢāļ§āļĄāļāļąāđāļāļĻāļķāļāļĐāļēāđāļāđāļāļāļąāļ§āļāļĒāđāļēāļ āļāļ°āļāđāļāļāđāļāđāļāđāļŦāđāļāļĩāļ§āđāļēāđāļāđāļāļāļāļ version āļāļ°āđāļĢāļāļąāļāđāļāđ āđāļĨāļ°āļāļąāļ§āļāļĒāđāļēāļāļāļąāđāļāļĨāđāļēāļŠāļĄāļąāļĒāļŦāļĢāļ·āļāļĒāļąāļ āļĄāļĩāļāļēāļāļāđāļāļāļŠāļ°āļŠāļēāļāđāļāđāļāđāļāļĩāđāļĒāļ§āļāļąāļ Drive API āļĢāļāļāļĒāļđāđ
āļāđāļēāļāļāļīāļ
Google OAuth and verification status
https://support.google.com/cloud/answer/10311615#verification-status
googleusercontent image URL parameters
https://gist.github.com/Sauerstoffdioxid/2a0206da9f44dde1fdfce290f38d2703
googleusercontent HTTP 403
https://stackoverflow.com/questions/56242788/http-403-on-images-loaded-from-googleusercontent-com
Google Drive URL usp parameter
https://stackoverflow.com/questions/30624321/google-drive-links-url-format-and-query-parameters/41904286#41904286
Drive API v2 to v3 reference
https://developers.google.com/drive/api/guides/v2-to-v3-reference
OAuth2 API hasGrantAnyScope
https://developers.google.com/identity/oauth2/web/reference/js-reference#google.accounts.oauth2.hasGrantedAnyScope
Google Drive API browser samples
https://github.com/googleworkspace/browser-samples/tree/main/drive


