Google+ share url: what parameters does it use?

2019-01-17 03:55发布

问题:

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!

回答1:

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="..."/>


回答2:

Maybe the following page about sharing interactive posts will be helpful: https://developers.google.com/+/web/share/interactive

I tested it already with the parameter "prefilled". This parameter allows you to define a prefilled text for the google+ share via get parameter:

https://plus.google.com/share?url=my_url&prefilltext=my_prefilled_text

So have a deeper look at the interactive posts page in order to find other possible get parameters.



回答3:

You can use "url" and "prefilltext".



回答4:

You can use three parameters, like so:

https://plus.google.com/share?url={url}&text={desc}&hl={language_code}

Source: https://github.com/bradvin/social-share-urls/blob/master/README.md#google