2016-11-22 3 views
3

、次のエラーがスローされます/ wの「ファイルグロブパターン中にエラーが発生しました」:のBigQuery APIを使用した場合、エラーのBigQuery APIからのアクセスにフェデレーテッド・ソース(Googleのシートを)しようとすると、Googleのシートが

[..] 
"errorResult" : { 
     "location" : "/gdrive/id/<removed_file_id>", 
     "message" : "Encountered an error while globbing file pattern.", 
     "reason" : "invalid" 
    } 
[..] 

BigQueryのテーブルはこのファイルを指すように設定されています。これは、Web UIを介して動作します。 APIを使用してテーブルをクエリしようとすると、上記のエラーが発生します。

私はそれがアクセス許可と関係があると推測しています。フェデレートされたソース(Googleスプレッドシートを指す)であるAPIからBigQueryテーブルにアクセスするには、何をする必要がありますか?

答えて

3

BigQueryのフェデレーションテーブルをAPIでクエリできるようにするには、ドライブ(Googleスプレッド)のファイルを指しているときに、3つの手順を実行する必要があります。

2つのステップが記載されていますhere(私は2番目が欠けていました - ドライブの範囲を追加していました)。最後の1つは、ファイルにAPIにアクセスするために使用されている関連するサービスアカウントの電子メールを追加することです。

  1. Google Cloud Platformコンソールを使用して、enable the Google Drive APIからAPI呼び出しを行うプロジェクトを使用します。
  2. BigQueryの範囲に加えて、OAuth scope for Google Driveをリクエストしてください。
  3. ドライブ内のファイルに使用しているサービスアカウントのメールアドレスを追加します。それは<project-id>-<fingerprint-hash>@developer.gserviceaccount.comのように見えます。 「表示」権限で十分です。
+0

良いタイミング。また、最近この問題があり、第3ステップが欠落していました。権限を与えるアカウントは、APIコードが適切な「Key ID」を使用するのと同じものです(サービスアカウントのセクションのiam-adminページに記載されています)。プロジェクトの多くに対して異なる理由で異なるユーザーに異なるGoogleシートとは異なる権限を与えます)。 –

関連する問題