【问题标题】:google plus share and parameters in url谷歌加分享和网址中的参数
【发布时间】:2012-08-08 15:47:12
【问题描述】:

我使用 Google+ 在我的页面上共享一些链接,当我尝试共享包含参数的 URL 时出现问题。示例:

http://google.com?n=somethink&link=p/1393007&i=images/icons/gplus-16.png

当您将此 URL 放入此页面的字段中时:

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?

【问题讨论】:

    标签: html url google-plus share


    【解决方案1】:

    目前 G+ 分享只支持两个参数: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="..."/>
    

    【讨论】:

    • 有趣的是你没有回答他们的问题,但你回答了我的问题!
    • G+ 现在还支持其他附加参数吗?
    • @BalasubramaniM, text 参数有效,但没有记录,因此将来可能会被删除,恕不另行通知。
    • 在我的情况下,我在元数据中有 opengraph 仍然图像不正确126news.com/Publication/Article/how-neuron-works
    【解决方案2】:

    确保您对要通过 Google+ 分享链接在 Google+ 上分享的链接进行 URL 编码。

    例如:如果您想分享链接http://example.com?a=b&amp;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
    

    【讨论】:

    • 我认为没有必要> 我尝试使用 :// 和 / ,效果很好。
    【解决方案3】:
    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);
    

    Refer this link

    【讨论】:

      【解决方案4】:

      共享链接适用于本机客户端应用程序、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>

      【讨论】:

        【解决方案5】:

        答案很差。您应该使用 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>';
        

        【讨论】:

        • 没有。您的回答很差...不应该要求我们使用第三方的整个 API 来发出简单的 GET 请求。
        • 不幸的是,redirect_uri 似乎在没有数字签名数据和共享机密的情况下无法使用。如果共享 URL 和重定向 URL 指向相同的主机+端口组合(也称为“来源”),其他社交媒体提供商似乎很高兴。
        猜你喜欢
        • 2012-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多