Google プラス ストリームにアクティビティを挿入するのに苦労しました。Google開発者ガイドを参照した後。Java の例を見つけました - https://developers.google.com/+/domains/posts/creating
google-api-ruby-clientactivites.insert
を使用してクエリを実行する同様の例はありますか。
次の手順に従いました。
omniauth-google-oauth2経由でアプリへのアクセスを定義する
GOOGLE_CONSUMER_KEY = google_config['KEY']
GOOGLE_CONSUMER_SECRET = google_config['SECRET']
google_scope = "userinfo.email,
userinfo.profile,
plus.login,
plus.me,
plus.media.upload,
plus.profiles.read,
plus.stream.read,
plus.stream.write,
plus.circles.read,
plus.circles.write"
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, GOOGLE_CONSUMER_KEY, GOOGLE_CONSUMER_SECRET,
{
name: 'google',
scope: google_scope,
prompt: 'consent'
}
end
トークンとリフレッシュ トークンを使用して、API 呼び出しgoogle-api-ruby-clientを実行します。「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
後で、Google APIがドメインAPIを使用するにはドメイン全体の委任が必要であることに気付きました(正しいと思いますか?) https://developers.google.com/+/domains
https://developers.google.com/+/domains/getting-started#accessing_the_apis - 上記のステップ 1 で使用した oauth で十分でしょうか?
https://developers.google.com/+/domains/quickstart/python - RUBYで利用できるものはありますか
サービス アカウントのセットアップも試し、ビジネス アプリを作成し、service_account の例に従いました
しかし、まだ幸運ではありません。
端末で試す
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 user steam にアクティビティを挿入する際に助けを得ることができますか?
ありがとう!