About Google Photos API quota limits

The Google Photos API has a limitation of 10.000 calls per day for all users.

Due to high demand of my Photo Map for Google Photos App, I’m forced to limit the queries to Favorites only¬†20k entries, otherwise all users will get an error message that says that the limit is reached.

I’m in contact with Google to find a solution.

Location where queries are counted:

  • One per 100 photos reloaded on app startup
  • One for each photo displayed on the map after the items was loaded more than 60 minutes ago
  • One for each photo displayed in the full screen view after the items was loaded more than 60 minutes ago

How we could survive a sync stop between Google Photos and Google Drive

If Google really stops the sync process between Google Photos and Google Drive (Attention: Only rumors and NOT official confirmed/announced), I still have some possibilities to show your photos on a world map:

1. Using the Description as workaround 

I wrote a js script that loops over all photos and copies the location information into the description.

That script can be executed on a desktop web browser or inside a custom view I created in my beta App.

And the best part of it: It works and I already successfully displayed photos on a map using only the official Google Photos API.

Disadvantages are that the maximum page size of Google Photos API is only 100 items, compared to Google Drive’s 1000. That makes the loading process slower and more requests are needed to refresh the thumbnail URL’s.

Another disadvantage is, of course, that Google wouldn’t really be happy about my solution.

2. Using the Google Location History 

As you might know, any Google user can download its location history as json format. I could use that file to extract the location information for all needed photos.

After a few tests I realized that the kml format is much better for what I need: It lists line by line the timestamp and it’s location, so I can parse that file in memory and extract all location data.

First results: It seems to work, but parsing the kml file takes some seconds. but when all is cached, the solution would be ok.