Lawrence Mier Digital Consultant

Lawrence Mier

A Californian living in Scandinavia

Lawrence Mier

2 minute read

App Not Verified

As shown in the background of the image above I’ve been building an Rshiny app that will use your own Google Analytics data to measure the impact of an event (for the curious: Shiny Impact). If you add a Google Analytics API to the scope of your Google cloud project then you need to get expressed permission from Google. Otherwise you get the wonderful STRANGER DANGER “This app isn’t verified” message within your Google login flow.

Steps To Rectify

** Note: The following is assuming you’ve already created a project (with billing), enabled some API’s on the API & Services pages, created a credential and filled in the name of the app on the OAuth consent screen.

  1. Create Privacy Policy and Terms of Conditions Pages (you could use the ones on this site). Once created and available on the web enter them into the fields depicted here:

    Add your domains, privacy policy and terms

  2. Verify you own the domains submitted. If you use Google for domain registrar that can cut out one step as they will automatically verify. But in this case I’m using shinyapps.io. So I don’t own the root domain.

  3. Don’t submit the verification form yet!! Verify the submitted domains via Search Console first otherwise you get this lovely note from the Google Cloud team:

    Verify Ownership!

  4. Add your domain in search console.

    Add RShiny App in Search Console

  5. Save the Search Console file to the WWW folder of your RShiny App

    Save Console File

  6. Publish your RShiny App

    Publish Your RShiny App

  7. Verify file was uploaded and click on verification button

    Verify Search Console

  8. Now I’ve resubmitted…hopefully the fact that I’m not the top-level-domain owner won’t be an issue. Here’s the submittal details for reference:

    Scope Verification

  9. Next you’ll need to submit a video of your application indicating how you log in, request permissions, and use the scopes:

  10. Make sure the API Scopes you requested match what you’re using in the app. In my case I added both /auth/analytics.readonly and /auth/analytics as I though I may need further access. I didn’t end up using the /auth/analytics so I was initially rejected:

    Rejected Scope Discrepancy

  11. Success!! After removing the scope descrepancy and resubmitting my app was accepted.

    OAuth Consent Screen Verified/Published

About

Welcome to my sandbox. This site is a place for me to experiment, try new things, and keep track of random thoughts or projects for future reference. Resume related things are here.

Recent posts

See more