【问题标题】:How to post in Google+ wall如何在 Google+ 墙上发帖
【发布时间】:2011-09-27 13:53:12
【问题描述】:

我想通过我的应用程序在 Google+ 墙上分享一些信息。 为此,我通过Google+ API。在该 API 中,他们提到了如何获取特定用户的访问令牌,但没有提到如何使用访问令牌在用户墙上发帖。

【问题讨论】:

    标签: api google-plus


    【解决方案1】:

    嗯,Google+ 没有“墙”,它有“信息流”。正确的术语可能会帮助您找到更好的搜索结果。无论哪种方式,除非您是 Google 合作伙伴,否则这个消息并不好:

    API 目前仅限于只读访问。来自API website

    注意:Google+ API 目前提供对公众的只读访问权限 数据。所有 API 调用都需要 OAuth 2.0 tokenAPI key

    因为它是只读的,您将无法通过 API 在任何地方更新或发布任何信息 - 您只能使用它来提取基本信息,例如个人资料和活动详情。

    鉴于对 API 的访问可能会随着时间而改变,我会尽量让这个答案保持最新,提供与 写入 访问相关的新闻或更改的信息。


    新闻和更新

    2015-04-28Google+ Domains API 早在 2013 年 8 月就宣布了,但不知何故我错过了它与 Google+ 的相关性。

    Google+ Domains API 使 Google Apps 客户和 ISV 可以利用增强的 Google+ API 来构建可以以多种方式使用的工具和服务。

    不,它确实提供对用户的 Google+ 个人资料的完整写入权限,但与 Google+ API v1 相比,与 Google+ API v1 相比,它确实为您提供了一些优势,至少在域内.这个主要面向移动应用开发者。

    2015-01-21:我已经重新访问了此答案中链接的许多来源,并搜索了有关 API 更改的新闻,但 Google 一直保持沉默。

    2014-03-12:Google+ 上关于写入权限(或缺少写入权限)的各种讨论线程:

    2013-12-03:UPDATE 1 中的问题线程终于是responded to by a Google+ project memberDeveloping with Google+ 社区页面上间歇性地进行了有关 Streams 写入访问的其他讨论。

    2013-07-05:名为Eric Leroy 的开发人员构建了an "unofficial" JavaScript library,为Google+ API 提供读/写扩展。

    2013-05-14:“社交媒体管理公司”可以通过尝试成为 Google+ Pages API 合作伙伴来获得额外的 API 访问权限。

    以下是合作伙伴申请表的摘录:

    Google+ 页面 API 允许社交媒体管理公司将 Google+ 页面管理功能添加到他们的工具中。可通过白名单访问此 API,并根据是否适合此 API 逐个公司授予合作伙伴访问权限。

    解释缺少写 API 的其他文章:

    2013-01-04:谷歌刚刚宣布了Google+ History。您可以使用它来编写“时刻”(默认情况下是私有的),但随后可以通过将它们直接共享到您的流和/或您的个人资料来公开。时刻类型之一是CommentActivity

    2012-10-08:现在有一个 duplicate bug post,只有几个 cmets,但您也可以在那里查看未来的更新。

    2012-06-25:我遇到了issue tracker post 的 Google+ 写入权限。截至 2012 年 6 月 25 日,增强请求状态为“新”,优先级为“中”。在 cmets 中有一些感兴趣的链接。

    【讨论】:

    • 嗨,Cory,感谢您的快速响应。有没有其他方法可以做到这一点(在用户的 Streams 中发布)
    • @joe:据我所知,至少不是以编程方式。
    • @mihai:我更正了,因为“墙”通常是 Facebook 术语,“喜欢”也是如此; Twitter有“推文”;谷歌有“Streams”和“plus-ones”。术语是软件设计和开发的重要组成部分;在我们的世界中,模棱两可不是一个友好的术语。至于区别,嗯,there are many
    • @mihai:我没有在两者之间进行比较——通过在我的回答中将术语更正为“Streams”,我说明这些服务可以通过人们在谈话时使用的术语来识别关于他们。例如,当 OP 在询问有关 Google+ API 的问题时说“Google+ Wall”时,我不希望有人(包括 OP)去挖掘 API 文档以寻找“wall”一词,因为他们不会找到任何东西。搜索有关 Google+ 的正确术语是“流”。
    • Hootsuite 可以代表用户在 google+ 上发帖!See Screenshot here
    【解决方案2】:

    这可能会有所帮助:我制作了这个小书签,用于将我喜欢的页面的链接发布到我的信息流中:

    javascript:location='https://plusone.google.com/_/+1/confirm?hl=en&url='+location
    

    网址一目了然。如果您的帖子内容可以通过 URL 提供,那么您可以这样发布。唯一的困难是自动化谷歌的发布回调,但我不需要它,应该不会太难。

    【讨论】:

    【解决方案3】:

    如果你使用 wordpress,有一个插件可以让你自动发帖到 google plus WP Plugin Post to Google Plus 但是它不是免费的,便宜但不是免费的。 你可能可以调试它,因为它是 php,看看他们是如何做到的。

    【讨论】:

    • 这是一个有趣的分享。谢谢。我们需要更仔细地研究他们是如何做到的。我猜测是通过抓取/自动化方法。
    • 是的,知道会很有趣,但归根结底,如果它有效,谁在乎,只要你能包含他们的 php 代码,你应该没问题。
    • 嗯,当您使用另一种语言/平台进行开发时,这很重要。
    • 几乎所有语言都不能移植 php。
    • 问题可能在于该代码以某种方式被混淆,从而降低了购买它的价值,只是为了弄清楚他们是如何完成它的。你能告诉我你是否购买了它并且能够理解他们是如何完成它的吗?
    【解决方案4】:

    您现在可以这样做了。请参阅下面的 google 开发者文档:

    https://developers.google.com/+/domains/posts/creating

    唯一需要注意的是,Google+ Domains API 只允许创建受限帖子,并且只允许将 cmets 添加到受限帖子。

    【讨论】:

    • 这似乎仅适用于 Google+ 上的域,企业级。
    【解决方案5】:

    写入 Google+ 个人资料流仅限于域。

    例如,如果您拥有一家名为 xyz co 的公司并拥有一个域 xyz.com。您可以使用 Google+ Domains API 写入流。虽然这将仅限于使用相同域并使用 Google G Suit 应用程序进行业务的人,并且不适用于普通 Google 的 gmail.com 电子邮件 ID。

    Google+ Domains API 只允许创建受限帖子,并且只允许将 cmets 添加到受限帖子。

    例如,Jon 和 Misha 作为 xyz co 的员工工作,并拥有关联的公司邮件 ID jon@xyz.com 和 misha@xyz.com,然后他们可以发布到 Google+ 中的关联域流。尽管这些帖子不会公开可见,并且仅限于属于同一域的成员可见。如果任何帖子必须公开,那么您必须手动完成该任务Ref

    如果您想在 Google+ 上发布一些企业或名人的信息,那么您必须寻找 Google+ Page API,它允许您在企业页面上发布信息。虽然他们在这里限制了合作伙伴申请表,需要获得批准才能访问 Pages API,这是非常严格且难以获得批准的。

    Google+ 页面 API 允许社交媒体管理公司将 Google+ 页面管理功能添加到他们的工具中。可通过白名单访问此 API,并根据是否适合此 API 逐个公司授予合作伙伴访问权限。如果您是一家有兴趣访问此 API 的社交媒体管理公司,请填写下面的表格,并提供有关您公司平台的详细信息。请准确回答以下所有问题;任何歪曲您的工具的不准确信息都可能影响您公司对该 API 的访问。如果您的公司适合此 API 的功能,Google+ 团队将与此表单中提供的联系人联系并提供后续步骤。请不要向此表单提交多个条目。

    在 Google+ 中发帖的其他方法是通过他们的分享按钮、交互式发帖和嵌入发帖到 Google+ Ref

    【讨论】:

      【解决方案6】:

      //关注这个:https://developers.google.com/+/mobile/ios/share/

      -(void)shareGoogle{
      
          [signIn authenticate];
           [signIn trySilentAuthentication];
      }
      
      -(void)refreshInterfaceBasedOnSignIn {
      
          if ([[GPPSignIn sharedInstance] authentication]) {
              // The user is signed in.
              NSLog(@"%@", [[GPPSignIn sharedInstance] authentication]);        
                     [self didTapShare:nil];        
          }
          else {        
              self.signInButton.hidden = NO;
              // Perform other actions here
          }
      }
      
      - (IBAction) didTapShare: (id)sender {   
          [GPPShare sharedInstance].delegate = self;    
          id<GPPNativeShareBuilder> shareBuilder = [[GPPShare sharedInstance] nativeShareDialog];       
          // Set any prefilled text that you might want to suggest
          [shareBuilder setPrefillText:@"message"];   
          [shareBuilder attachImage:[UIImage imageWithData:imageData]];    
          [shareBuilder open];    
          likeShareBtn.userInteractionEnabled = FALSE;    
      }
      
      - (void)finishedSharingWithError:(NSError *)error {
          NSString *text;    
          if (!error) {
              text = @"Success";        
          } else if (error.code == kGPPErrorShareboxCanceled) {
              text = @"Canceled";
          } else {
              text = [NSString stringWithFormat:@"Error (%@)", [error localizedDescription]];
          }
      
          NSLog(@"Status: %@", text);
      }
      
      -(void)presentSignInViewController:(UIViewController *)viewController {
          // This is an example of how you can implement it if your app is navigation-based.
          [[self navigationController] pushViewController:viewController animated:YES];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多