明日 (iirc) に Google Provisioning API が廃止されることは承知していますが、このニュースが届くのが少し遅れており (Google のせいではありません)、現時点ではメール アカウント管理ソフトウェアをオーバーホールする時間がありません。 .
数週間前からごく最近 (今日の間) まで、有効なパラメーターを指定して次のコマンドを実行すると、常に .Net 例外が発生しました (角括弧内のテキストは、プライバシー上の理由から実際の値に置き換えられます)。
googleService = new AppsService("<domain>", "<userName>", "<password>");
gRes = service.Groups.RetrieveGroup("<groupid>")
googleService と gRes は、それぞれ AppsService と GroupEntry のタイプです。
外部例外メッセージ:
Execution of request failed: https://apps-apis.google.com/a/feeds/group/2.0/<domain>/<groupid>
内部例外メッセージ:
The remote server returned an error: (400) Bad Request.
グループが存在する場合、例外は発生しなくなりましたが、ドキュメントに従って、有効なプロパティ値のように見える GroupEntry オブジェクトを取得するという点で、これは現在部分的に機能しています。ただし、グループが存在しない場合でも、上記の例外が発生します。
既存のグループで例外が再び発生した場合に備えて、グループが存在しないことを意味する例外に依存したくありません。そのため、Google のメール グループが作成されていないのに作成されたとシステムが判断してしまいます。
これは Google が取り組んでいるものですか。それが原因で検索結果に変化が見られるのですか? それとも、私は何か間違ったことをしていますか?
おそらく、存在しないグループ ID で RetrieveGroup を実行すると、.Net 例外が返されるはずですか? しかし、「EntityDoesNotExist(1301) - The request requests Google to retrieve an entity that does not exist.」というエラー コードを含む Google の「AppsException」が発生すると考えていました。https://developers.google.com/google-apps/provisioning/reference#GDATA_error_codesに従って
この API の他のいくつかの関数は、同様の状況でより適切な Google の「AppsException」例外ではなく、.Net 汎用例外をスローすることが知られています。たとえば、存在しない user->group メンバーシップを削除すると、予想される EntityDoesNotExist(1301) Google AppsException ではなく、.Net 例外が発生します。
これに関する情報/確認は、ありがたく受け取られます。