I've written previously on how to share a link to Google+ using the Moments API. This involved calling the moments.insert method to create an App activity. This didn't actually share a link to the user's stream, but it was as close as I could get with Google+.

So since it's no longer possible to do this, what are the alternatives? Well, very few it turns out. With the latest update the Google+ API seems even more locked down than it was before, but as always there is a way to do what I wanted and I'll get to that later, but first lets see the error I started getting.
Very nondescript. No explanation, it just doesn't work any more. My response to this was to rip out all of the Google+ code from my blog software. The App Indexing API that's mentioned as a replacement is not an alternative at all since it only works on Android and iOS, it won't work for a web application.
I did find something that I can use, the Share Endpoint. It does require the user to manually click to share so still doesn't work with the rest of my auto-posting functionality, but it is something at least.
Using the Share Endpoint is easy, simply pass the URL you want to share as the url parameter. I ended up doing this with a bit of JavaScript that pops up a new window. This window seems to be resized by Google's code to fit the contents of the share box. This is my code:
Just replace XXXX with whatever you want to share on your Google+ stream. I do urlencode every URL that I pass to this.
Hopefully soon Google will have an API that allows real server-side write access to Google+, but until then we're stuck with these manual options.
-i