2016-08-10 7 views
0

グループマイグレーションAPIのためのクイックスタートをPythonで実行しようとしています。GoogleグループマイグレーションAPI - com.google.gaia.client.invaliduseridexceptionを与える

目標はテスト用に作成したGoogleグループにメッセージを挿入することです。

Google for Workアカウントを作成し、管理者が所有するGoogleグループを作成しました。

私はコンソールに「その他のクライアントID」としてクレデンシャルを作成し、クライアントに設定しました。

私はスクリプトを実行すると、私が手:

googleapiclient.errors.HttpError: 
<HttpError 400 when requesting 
https://www.googleapis.com/upload/groups/v1/groups/test-migration-business%40googlegroups.com/archive?uploadType=media&alt=json 
returned "com.google.gaia.client.InvalidUserIDException: 
Request for GaiaClientConst::INVALID_USERID"> 

承認フローが正常に動作するように見えました。ブラウザのタブで確認が表示されます。ローカルディレクトリに資格情報ファイルを作成します。

私はGoogle for Workアカウントの管理ユーザーとして認証しています。 admin.google.comコンソールでAPIアクセスを有効にしました。私も前提条件の手順を経てきました。それはすべてOKです。

これを引き起こす原因は何ですか?

を編集します。別のチャンネルでさらに情報を取得しました。問題は、私がAPIを介して投稿しようとしていたグループにありました。

Google Groups for Businessアカウントでグループを作成するだけではありません。 admin.google.comパネルで多くの設定を行う必要があります。最終的にそれを正しく設定すると、電子メールアドレスのタイプが[email protected]のグループを作成できます。

電子メールアドレスに@ googlegroups.comという接尾辞を持つグループを作成している限り、API呼び出しは機能しません。

私は、SMTP電子メールの追加でこれを行うことを検討してから、数日後に代替の回答を書きます。

+0

また、コンソールのAPI画面を見ると、トラフィックはまだ表示されません。それはグループ名を解決するようだ - 私はそれにグループ名の迷惑ストリングを与える場合、それは異なるエラー(バックエンドエラー)を生成するので、私はこれを知っている。 –

答えて

0

問題は、私がAPI経由で投稿しようとしていたグループの問題でした。

Google Groups for Businessアカウントでグループを作成するだけではありません。 admin.google.comパネルで多くの設定を行う必要があります。最終的にそれを正しく設定すると、電子メールアドレスのタイプが[email protected]のグループを作成できます。

電子メールアドレスに@ googlegroups.comという接尾辞を持つグループを作成している限り、API呼び出しは機能しません。

私はこれらのリンクごとに公開グループに投稿するSMTPを使っての道を下って行った: https://github.com/jmuhlich/mailman-archive-migration https://gist.github.com/tdonohue/cd2a643c5fca5f140cfd

私はSMTPのアプローチにいくつかの困難に遭遇し、最終的にそれを放棄しました。

a)メッセージを追加するときに現在の日付/時刻で投稿するので、メッセージを時間順に読み込む必要があります。電子メールが迷惑メールとしてモデレーションキューに保持され、後で承認されると、それらは不調になる可能性があります。

b)多数の購読ユーザーがいるGoogle Appsアカウントが大量でない限り、GoogleのSMTPリレーには非常に低い制限があります。 SMTPリレーサービスが重要になり、アーカイブされたメッセージはグループへの途中でスパムとしてマークされません。

私はAPIソリューションに戻り、ほとんど終了しました。すべてのケースで正しく動作するように文字セットのエンコードを取得するには、少し時間がかかりました。しかしそれ以外はうまくいく。

1

原因の可能性があります。INVALID MESSAGE FAILURE - 電子メールメッセージが無効な形式です。メッセージの形式が誤っていると拒否された場合は、400 Bad Request HTTPステータスコードが届きます。無効な形式の例としては、

  • メッセージがに、より不足している、と日付フィールドことができました。
  • messageの行がCR + LF(つまり「\ r \ n」)スタイルの改行で終了しないと、エラーが発生します。
  • 電子メールメッセージが空です。
  • 移行のターゲットグループが存在しないか、「読み取り専用」モードです。読み取り専用の共有モードの詳細については、Google Groups for Business sharing optionsをご覧ください。

またUNSUPPORTED_PARALLEL_OPERATIONかもしれ - APIは、同じグループのアーカイブに並列メッセージの挿入をサポートしていません。このバージョンのAPIではバッチリクエストもサポートされていません。しかしAPIは、異なるグループアーカイブへの電子メール挿入の並列要求をサポートしています。A HTTPステータスコードが返されます。

移行の重要な注意事項を確認するには、リクエストフォームとManaging Email Migrationsを再度確認してください。

希望すると便利です。

+0

私の質問に興味をお持ちいただきありがとうございます。本当にありがとうございます。それは私が投稿しようとしていたグループの設定に関連していたことが判明 - 私は質問の編集としていくつかの情報を追加しました。私は完全な解決策を見つけたら自分の答えを追加します。 –

関連する問題