Ruby on rails 3.2 Google plus在流媒体上插入活动
在google plus stream中插入活动非常困难。转介后。 我找到了一个java的例子- 是否有类似的示例可以使用执行Ruby on rails 3.2 Google plus在流媒体上插入活动,ruby-on-rails-3.2,google-api,google-plus,ruby-2.0,google-api-ruby-client,Ruby On Rails 3.2,Google Api,Google Plus,Ruby 2.0,Google Api Ruby Client,在google plus stream中插入活动非常困难。转介后。 我找到了一个java的例子- 是否有类似的示例可以使用执行activites.insert查询 我遵循以下步骤: 通过定义对应用程序的访问权限 使用令牌和刷新令牌执行api调用。我可以使用“plus”列出活动,但要插入活动,我应该使用plusDomains client = Google::APIClient.new(:application_name =>'Demo GooglePlus',:application_ve
activites.insert
查询
我遵循以下步骤:
通过定义对应用程序的访问权限
使用令牌和刷新令牌执行api调用。我可以使用“plus”列出活动,但要插入活动,我应该使用plusDomains
client = Google::APIClient.new(:application_name =>'Demo GooglePlus',:application_version => '1.0.0')
plus = client.discovered_api('plus')
plusd = client.discovered_api('plusDomain')
client_secrets = Google::APIClient::ClientSecrets.load
auth=client_secrets.to_authorization
auth.update_token!(access_token: 'aRandomToken', refresh_token: 'aRandomRefreshToken')
result = client.execute(:api_method => plus.activities.list,:parameters => {'collection' => 'public', 'userId' => 'me'}, :authorization => auth)
>> This works, returns the list of activities
使用plus域
result = client.execute(:api_method => plusd.activities.insert,:parameters => {'collection' => 'public', 'userId' => 'me'}, :authorization => auth)
>> Returns 403 Forbidden
后来我意识到GoogleAPI需要域范围的delegaton来使用域api(我认为这是正确的?)
-上述步骤1中使用的oauth是否足够
-RUBY中有什么可用的吗
我还尝试了服务帐户设置,创建了一个商业应用程序,并遵循
但仍然不是运气
在终端上试用
curl -v -H "Content-Type: application/json" -H "Authorization: OAuth ya12.AqwqwwAS1212grcECQ3iVAlg" -d "{'object':{'content':'Test message'},'access':{'items':[{'type' : 'domain'}],'domainRestricted':true}}" -X POST https://www.googleapis.com/plus/v1domains/people/me/activities
Results in ->
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
在google plus用户steam上插入活动时,我可以得到一些帮助吗
谢谢 首先要验证两件事:
plus.login
范围。我相信您还需要删除userinfo.*范围。看
此外,我认为您的作用域定义不正确,我认为它们需要使用完整的URI:
google_scope = "https://www.googleapis.com/auth/plus.me,
https://www.googleapis.com/auth/plus.media.upload,
https://www.googleapis.com/auth/plus.profiles.read,
https://www.googleapis.com/auth/plus.stream.read,
https://www.googleapis.com/auth/plus.stream.write,
https://www.googleapis.com/auth/plus.circles.read,
https://www.googleapis.com/auth/plus.circles.write"
谢谢@BrettJ。我最终意识到了范围错误。但我实际上是在尝试使用常规的G+帐户插入活动。我在这里创建了一个应用程序域帐户,效果非常好。我想我无法使用ruby client for google api写入常规G+用户流。或者有?不,你不能为一个普通的Google+帐户写入流。我们不希望由此产生应用程序垃圾邮件,但对于您所在领域的用户,请做您想做的。@BrettJ有一个名为hootsuite的应用程序,他们要求离线访问,他们可以直接发布到页面,他们是否与google或其他什么有任何合作关系?@BrettJ您能检查一下这个吗,它将帮助我提前感谢
google_scope = "https://www.googleapis.com/auth/plus.me,
https://www.googleapis.com/auth/plus.media.upload,
https://www.googleapis.com/auth/plus.profiles.read,
https://www.googleapis.com/auth/plus.stream.read,
https://www.googleapis.com/auth/plus.stream.write,
https://www.googleapis.com/auth/plus.circles.read,
https://www.googleapis.com/auth/plus.circles.write"