我使用Google+在我的网页上分享一些链接,当我尝试共享包含参数的网址时出现问题。例如:
http://google.com?n=somethink&link=p/1393007&i=images/icons/gplus-16.png
当您将此网址放入此页面的字段时:
https://developers.google.com/+/plugins/share/
...然后点击share
按钮,您无法看到有关页面的信息,如姓名,图片和说明。但是当您在“png”之前删除点时,Google会显示有关该页面的数据。
当您在URL中的任何位置写入'
符号时,会发生同样的情况。我在Google帮助页面中找不到有关此错误的任何信息。当我使用这样的URL时它可以工作:
http://google.com?n='&link=p/1393007&i=images/icons/gplus-16.png
......但这不是一个非常优雅的解决方案。
如何编写干净的URL?
答案 0 :(得分:41)
目前G + share仅支持两个参数:url,用于目标url,hl,用于语言代码。
https://plus.google.com/share?url=http://www.stackoverflow.com
或者,您可以将OpenGraph标记添加到页面的头部,以指定相同的字段:(尚未测试)
<meta property="og:title" content="..."/>
<meta property="og:image" content="..."/>
<meta property="og:description" content="..."/>
答案 1 :(得分:11)
确保您通过Google+分享链接对您要在Google+上分享的链接进行网址编码。
例如:如果您要共享链接http://example.com?a=b&c=d
,请先将第一个网址编码为以下链接:
http%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd
现在,您可以通过分享链接在Google+上分享链接:
https://plus.google.com/share?url=http%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd
答案 2 :(得分:1)
function googleplusbtn(url) {
sharelink = "https://plus.google.com/share?url="+url;
newwindow=window.open(sharelink,'name','height=400,width=600');
if (window.focus) {newwindow.focus()}
return false;
}
var url="www.google.com";
googleplusbtn(url);
答案 3 :(得分:1)
共享链接适用于本机客户端应用程序,Flash应用程序,高度隐私敏感的网站以及可能无法使用+1或共享按钮的其他人。将以下标记添加到您的网站将包含一个简单的图标,该图标将为您的访问者弹出一个共享对话框。
<a href="https://plus.google.com/share?url=https://stackoverflow.com/questions/11868291/google-plus-share-and-parameters-in-url" onclick="javascript:window.open(this.href,
'', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img
src="https://www.gstatic.com/images/icons/gplus-64.png" alt="Share on Google+"/></a>
答案 4 :(得分:0)
答案很差。您应该使用api登录然后共享内容。
require_once 'google-api-php-client-master/src/Google/Client.php';
$client = new Google_Client();
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$plus = new Google_PlusService($client);
$authUrl = $client->createAuthUrl();
$visibleActions = array(
'http://schema.org/AddAction',
'http://schema.org/ReviewAction');
$authUrl .= '&request_visible_actions=' .
urlencode(implode(' ', $visibleActions));
print '<a href="' . $authUrl . '">Sign in with Google</a>';