アプリケーションからGoogle+ウォールの情報を共有したい。そのために Google+ API を使用します。そのAPIでは、特定のユーザーのアクセストークンを取得する方法について言及していますが、アクセストークンを使用してユーザーウォールに投稿する方法については言及していません。
Google+には「壁」はなく、「ストリーム」があります。適切な用語は、より良い検索結果を見つけるのに役立ちます。いずれにしても、あなたがGoogleパートナーでない限り、ニュースは良くありません。
APIは現在、読み取り専用アクセスに制限されています。API Webサイト から:
注:現在、Google + APIは公開データへの読み取り専用アクセスを提供しています。すべてのAPI呼び出しには、 OAuth 2.0トークン または APIキー が必要です。
読み取り専用であるため、APIを介して情報を更新したり投稿したりすることはできません。プロファイルやアクティビティの詳細などの基本情報を取得するためにのみ使用できます。
APIへのアクセスは時間とともに変化する可能性があるため、writeアクセスに関連するニュースまたは変更に関する情報を使用して、この回答を最新に保つようにします。
2015-04-28
: Google+ Domains API は2013年8月に発表されましたが、どういうわけかGoogle+との関連性を失いました。
Google+ Domains APIを使用すると、Google Appsの顧客とISVは拡張されたGoogle+ APIを利用して、さまざまな方法で使用できるツールとサービスを構築できます。
いいえ、notはユーザーのGoogle+プロフィールへのfull書き込みアクセスを提供しますが、少なくともドメイン内では、Google + API v1よりも小さな利点があります。これは主にモバイルアプリ開発者向けです。
2015-01-21
:この回答にリンクされている多くのソースを再確認し、APIの変更に関するニュースを検索しましたが、Googleは静かです。
2014-03-12
:Google+での書き込みアクセスに関するさまざまなディスカッションスレッド(またはその欠如):
2013-12-03
:UPDATE 1からの発行スレッドは、最終的に Google+プロジェクトメンバーからの返信 になりました。 Streamsへの書き込みアクセスに関する追加の議論は、 Developing with Google + コミュニティページで断続的に行われています。
2013-07-05
: Eric Leroy という開発者が、Google + APIの読み取り/書き込み拡張機能を提供する 「非公式」JavaScriptライブラリ を構築しました。
2013-05-14
:「ソーシャルメディア管理会社」は、Google + Pages APIパートナーになることを試みることで、追加のAPIアクセスを取得できます。
パートナー申請フォームからの抜粋は次のとおりです。
Google+ページAPIを使用すると、ソーシャルメディア管理会社はGoogle+ページ管理機能をツールに追加できます。このAPIへのアクセスはホワイトリストを介して利用でき、このAPIとの適合性に応じて会社ごとに会社のパートナーにアクセスが許可されます。
書き込みAPIの欠如を説明する他の記事:
2013-01-04
:Googleが発表したばかり Google+履歴 。これを使用して「モーメント」(デフォルトでは非公開)を作成できますが、ストリームやプロファイルに直接共有することで公開できます。モーメントタイプの1つは CommentActivity
です。
2012-10-08
:いくつかのコメントだけで 重複したバグポスト がありますが、今後のアップデートについても確認できます。
2012-06-25
:Google+ Write Accessの issue tracker post に出会いました。 6月25日現在、拡張リクエストのステータスは「新規」、優先度は「中」です番目、2012。コメントには興味深いリンクがいくつかあります。
これは役立つかもしれません:私はこのブックマークレットを作成して、ストリームに気に入ったページへのリンクを投稿しました:
javascript:location='https://plusone.google.com/_/+1/confirm?hl=en&url='+location
URLは一目瞭然です。投稿コンテンツをURL経由で提供できる場合は、そのように投稿できます。唯一の難しさは、Googleからの投稿コールバックを自動化することですが、私はそれを必要としません。それほど難しくないはずです。
wordpress=を使用すると、Google Plusに自動的に投稿できるプラグインがあります WP Plus Post to Google Plus ただし、無料ではなく、安価ですが無料ではありません。PHPであるため、おそらくデバッグできます。
これを行うことができます。以下のGoogleの開発者向けドキュメントをご覧ください。
https://developers.google.com/+/domains/posts/creating
唯一知っておくべきことは、Google + Domains APIは制限付き投稿の作成のみを許可し、制限付き投稿へのコメントの追加のみを許可するということです。
Google+プロファイルストリームへの書き込みはドメインのみに制限されています。
たとえば、xyz coという名前の会社を所有していて、ドメインxyz.comがあるとします。 Google+ Domains API を使用して、ストリームに書き込むことができます。ただし、同じドメインを使用し、ビジネス向けにGoogle G Suit Appを使用しているユーザーに制限され、通常のGoogleのgmail.comメールIDでは使用できません。
Google+ Domains APIは、制限付き投稿の作成のみを許可し、制限付き投稿へのコメントの追加のみを許可します。
たとえば、ジョンとミーシャはxyz coで従業員として働いており、会社のメールID [email protected]と[email protected]を関連付けているため、Google +の関連付けられたドメインストリームに投稿できます。ただし、これらの投稿は公開されず、同じドメインに属するメンバーにのみ表示されるように制限されます。投稿を公開する必要がある場合は、そのタスクを手動で行う必要があります Ref 。
ビジネスや有名人のGoogle+に情報を投稿する場合は、ビジネスページに投稿を書くことができる Google+ Page API を探す必要があります。ここでは、Pages APIへのアクセスを許可するために承認が必要なパートナーアプリケーションフォームで制限されていますが、これは非常に厳格であり、承認が困難です。
Google+ページAPIを使用すると、ソーシャルメディア管理会社はGoogle+ページ管理機能をツールに追加できます。このAPIへのアクセスはホワイトリストを介して利用でき、このAPIとの適合性に応じて会社ごとに会社のパートナーにアクセスが許可されます。このAPIへのアクセスに関心があるソーシャルメディア管理会社の場合は、以下のフォームに会社のプラットフォームの詳細を記入してください。以下のすべての質問に正確に答えてください。ツールを不正確に伝える不正確な情報は、このAPIへの企業のアクセスに影響を与える可能性があります。貴社がこのAPIの機能に適している場合、Google +チームは次のステップでこのフォームで提供される連絡先に連絡します。このフォームに複数のエントリを送信しないでください。
Google+で投稿する他の方法は、[共有]ボタン、インタラクティブな投稿、Google +への埋め込み投稿 Ref です。
//これに従う: 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];
}