如何在Google+墙上发布

时间:2011-09-27 13:53:13

标签: api google-plus

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

6 个答案:

答案 0 :(得分:152)

嗯,Google+没有“墙”,它有“Streams”。正确的术语可以帮助您找到更好的搜索结果。无论哪种方式,除非你是谷歌的合作伙伴,否则新闻并不好:

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

  

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

由于它是只读的,您无法通过API更新或发布任何信息 - 您只能使用它来提取个人资料和活动详细信息等基本信息。

鉴于对API的访问权限可能会随着时间的推移而发生变化,我会尽量将此答案与有关 write 访问权限的新闻或更改的信息保持同步。


新闻与广告更新

2015-04-28 Google+ Domains API于2013年8月宣布,但不知怎的,我错过了与Google+的相关性。

  

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

不,提供对用户的Google+个人资料的完整写入权限,但它确实比Google+ API v1具有轻微优势,至少在域内。这个主要面向移动应用开发者。

2015-01-21 :我重新审视了此答案中链接的许多来源,并搜索了有关API更改的新闻,但Google一直很安静。

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

2013-12-03 :来自UPDATE 1的问题主题终于为responded to by a Google+ project member。关于Streams写访问的其他讨论是在Developing with Google+社区页面上间歇性地进行的。

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

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

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

  

Google+信息图页API允许社交媒体管理公司将Google+信息页管理功能添加到其工具中。可以通过白名单访问此API,并且可以根据公司的要求向合作伙伴授予访问权限,具体取决于是否符合此API。

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

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

2012-10-08 :现在只有duplicate bug post只有一些评论,但您也可以查看以后的更新。

2012-06-25 :我发现了issue tracker post用于Google+写入权限。截至2012年6月25日 th ,增强请求状态为“新”,优先级为“中等”。评论中有一些感兴趣的链接。

答案 1 :(得分:13)

这可能会有所帮助:我已将此书签发布到我喜欢的网页链接:

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

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

答案 2 :(得分:3)

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

答案 3 :(得分:3)

您现在可以执行此操作。请参阅下面的google开发人员文档:

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

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

答案 4 :(得分:3)

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

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

  

Google+域名API仅允许创建受限制的帖子,并且只允许将评论添加到受限制的帖子中。

例如,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

答案 5 :(得分:0)

//请遵循: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];
}