Blogger’s Obfuscated IDs

For years, MarsEdit was not able to upload directly to Google’s Blogger service. Instead, it had to upload to Google’s sibling service: Picasa Web Albums. Recently, Picasa has been folded into Google Photos, and in the course of the transition, Google has forbidden apps such as MarsEdit from creating albums on the service.

This left MarsEdit in a bind with respect to supporting image uploads for Blogger. The good news is Google added support for uploading directly to the Google Photos album that is used for Blogger images. Sort of…

MarsEdit 3.7.11 introduced the ability to upload directly to the Blogger photos album, and it seems to work flawlessly for many Blogger users. Unfortunately, it fails spectacularly for a subset of users. Specifically, if your Blogger user profile is set to use a “Blogger-specific” identity, you will not be able to upload images from MarsEdit. If, on the other hand, your Blogger profile is set to use a Google+ identity, everything should work fine.

The cause seems rooted in Blogger’s understanding that a “Blogger-specific” profile may be used for purely pseudonymous blogs. For this reason the information they share with MarsEdit includes a user ID that is not the user’s actual ID, but an “obfuscated ID.” When MarsEdit proceeds to use this ID to upload to Google Photos, the tell-tale error message is generated:

Can’t upload file for [your blog name] because the server reported an error: Invalid length for obfuscated ID "[your obfuscated ID]".

I’m not sure yet whether the obfuscated ID is meant to work, but that there is a bug in the Google Photos API. Ideally, that is the case and the Google Photos team could fix something on the server to get things working. On the other hand, it may be intentional that no client such as MarsEdit should be able to use one of these anonymized IDs to upload photos to Google.

The long and short of it is if you want to reliably upload photos from MarsEdit to a Blogger blog, you need to switch your blogging identity to a Google+ account. Google has documentation about this process, which also includes caveats about the implications of making the switch:

Change your profile on Blogger.

Existing MarsEdit users who had previously established a workflow of uploading images may already have a “MarsEdit Images” album among your Google Photos Albums. If so, you can achieve a short-term workaround by downgrading to MarsEdit 3.7.10, which will continue to try uploading to an existing MarsEdit Images album. Unfortunately, when this album reaches capacity, MarsEdit will not be able to create a new album.

I will continue tracking this issue while I weigh my options for additional workarounds. I am also in touch with some folks at Google and I hope they will have advice or devise a reliable means for MarsEdit to support image uploads regardless of the “identity” setting on a user’s Blogger account.