Google+ share url: what parameters does it use?

Vitalii Ponomar picture Vitalii Ponomar · Feb 26, 2012 · Viewed 38.5k times · Source

I want to make like on Stackoverflow. I do not whant +1 button (it takes some time for loading and all page loading are little slower). I've looked on source page and didn't found any info of it... How do they do it???

On facebook this is:

url  = 'http://www.facebook.com/sharer.php?s=100';
url += '&p[title]='     + encodeURIComponent(title);
url += '&p[summary]='   + encodeURIComponent(text);
url += '&p[url]='       + encodeURIComponent(my_url);
url += '&p[images][0]=' + encodeURIComponent(pic);

Something like this must be for google+ share to, but i didn't found any helpful information during my search.

I know I can use such url: https://plus.google.com/share?url=my_url, but it's not enough - I also need share title, text and image, but what url GET parameters to use for this purpose?

Thanks in advance!

Answer

mimming picture mimming · Feb 27, 2012

The share link supports two url paramaters: url, for the target url, and hl, for a language code.

The structured markup on the target url determines the title, description and image shared on Google+. For example, if you add schema.org markup or OpenGraph tags to the page that you're sharing it appears to pick it up just like it does for the +1 button.

In the official docs for the +Snippet it indicates that schema.org markup is preferred. So if you add markup to your page that looks something like this:

<body itemscope itemtype="http://schema.org/Product">
  <h1 itemprop="name">Shiny Trinket</h1>
  <img itemprop="image" src="image-url"></img>
  <p itemprop="description">Shiny trinkets are shiny.</p>
</body>

you will see your title read from the name field and image from the aptly named image field.

Alternatively, you can add OpenGraph tags to the head of your page to specify the same fields like this:

<meta property="og:title" content="..."/>
<meta property="og:image" content="..."/>
<meta property="og:description" content="..."/>