3

ウェブページに地図レイヤーを表示したいので、このGoogleサービスを試してみることにしました。データはサーバーのデータベースに収集されるため、ここで説明するようにサービスアカウントを使用してから、phpスクリプトで生成された秘密鍵を使用することにしました。

テーブルを作成し、いくつかのテスト値を挿入すると、すべてが正常に機能します。テーブルIDを取得し、スクリプトからそれを操作できます。問題は、Webブラウザからこれらのテーブルにアクセスする方法がわからないことです。APIコンソールでは使用統計が正常に表示されますが、自分のアカウントでGoogleドライブにログインすると、そこにテーブルが表示されません。

可能であれば、どこからアクセスすればよいですか?apps.googleusercontent.comまたはdeveloper.gserviceaccount.comアカウントのいずれかが、Web経由でアクセスするために他のサービスにログインするために何らかの役割を果たしますか?

APIキーも関連付けられていますが、テーブルをクエリしようとすると、401エラーが発生します。

ヒントはありますか?今少し迷っています。ありがとう。

4

1 に答える 1

3

サービスアカウントを使用していますか?したがって、このアカウントでテーブルを作成すると、このアカウントがテーブルの所有者になります。他の誰もこのテーブルを表示する権限を持っていません。

個人アカウントを使用してFusionTablesWebインターフェイスにアクセスすると、個人アカウントを使用して作成したテーブルのみが表示されます。

サービスアカウントで作成されたテーブルを検査する場合は、サービスアカウントのクレデンシャルでGoogleドライブAPIを使用して、個人アカウントへのアクセス許可を与える必要があります。また、テーブル(またはその他の種類のドキュメント)を公開する場合は、このGoogleドライブAPIを再度使用する必要があります。ここでトピックの詳細を参照してください:

https://developers.google.com/drive/v2/reference/permissions/insert

ヒント:サービスアカウントに代わって1回だけ必要なことを実現したい場合(つまり、Webアプリにロジックを実装する必要がない場合)、OAuth2Playgroundの使用を検討することを強くお勧めします。[設定]でサービスアカウントの資格情報を設定し、サービスアカウントに代わって承認されたリクエストを発行できます。非常に便利なツールで、コーディングは必要ありません。

于 2012-12-17T12:57:27.530 に答える