このプロジェクトにはあなたの助けが必要です!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
Golang 用の Work Weixin (別名 Wechat Work) クライアント SDK。これはたまたま戦闘テストが行われており、その種類についてはかなり真剣です。
2018 年後半から運用が開始され、Qiniu の少なくとも 2 つの社内システムにあらゆる種類の通知とアラートがプッシュされています。
Golang エンタープライズ WeChat クライアント SDK。私はたまたま実稼働環境で試してみましたが、型については非常に真剣です。
2018 年末以来、Qiniu では現在に至るまで少なくとも 2 つの内部システムが稼働しており、さまざまな通知やアラームをプッシュしています。
ここで説明するサービスは中国国外では利用できないため (私の知る限り)、現時点では英語翻訳 TODO。
警告
このライブラリの v2 バージョンには、フィールド名やメソッド名の調整など、互換性のない API の変更がまだ含まれている可能性があります。注意してください。既知の部分をすべて解決するまで、タグの v2 バージョンは存在しません。
このライブラリを信頼している場合は、v2 バージョン追跡チケットに返信するか、絵文字で反応して態度を示してください。著者は現在、完全に暇なときにこのプロジェクトを保守しており、皆さんからのフィードバックを本当に必要としています。
仕事で簡単なメッセージ プッシュを実装するために Go を使用する必要があり、オープン ソース ライブラリを見つけようと考えましたが、唯一存在するオープン ソースのエンタープライズ WeChat Golang SDK のコード品質は低かったです。自分で書かなければなりませんでした。
更新: このライブラリが作成されてから長い時間が経ちましたが、現在 (2019.08) 同様のプロジェクトが 3 つまたは 4 つあります。 しかし、これらの「競合製品」を検討した結果、私のライブラリの型設計、パブリック インターフェイス、アクセス トークン処理などは悪くないことがわかりました。 なぜ人々は常にHost
リクエストをハードコーディングしたり、グローバル変数を使用したり、解凍するために解凍したり、内部メソッドを公開したりすることを好むのでしょうか?
このライブラリの v2.x ブランチは、少なくとも Go の最後の安定バージョン (現在 go1.19) をサポートしています。 以前のバージョンの Go で使用する必要がある場合は、v1.x バージョンに移行してください。コードは引き続き go1.17 以降をサポートしています。
CI は、Go の現在の安定バージョンと以前の安定バージョンでテストを実行します。すべてのテストに合格した場合にのみ、PR をマージできます。
注: Go アップストリームは進化し続けるため、比較的安価に確実に追いつくことができるようにする必要があります。 go.mod
Go バージョンが比較的低いと指定しており、それによってプロジェクト自体の機能の反復や再構築が妨げられる場合、非常に必要なアップグレードを遅くするために Go バージョンのダウンストリーム ユーザーをロックすることは特に考慮しません。 それでもそのようなニーズがある場合は、コミュニケーションの問題を提出してください。
Host
のカバレッジをサポートします。これは、ゲートウェイ層、一時的なデバッグ、その他の奇妙なニーズをブロックするために使用できます。http.Client
を使用したサポートWorkwxApp
オブジェクトは 2 つのステップで構築され、直接使用されます。lowlevel
パッケージが作成される可能性がありますが、それは行われない可能性があります。UserInfo
、 Recipient
など)。panic
はほとんどありません。いくつかの既存の状況を修復する必要があります。workwxctl
コマンド ライン ガジェットが付属しています詳細については、godoc ドキュメントを参照してください。参考としてサンプルも提供されています。
現在、マークダウンおよびその他の種類のメッセージは機密メッセージとしての送信をサポートしていないため、強制的に送信するとエラーが報告されます。 では、なぜすべてのメッセージ送信メソッドにisSafe
パラメーターが含まれるのでしょうか?
一方では、エンタープライズ WeChat サービス プロバイダーは、将来さらに多くの種類のメッセージの機密送信をサポートする可能性が高く、その時点でクライアント コードが再コンパイルされることを望んでいません。その一方で、応答は次のように報告します。とにかくエラーが発生すると、このロジックは維持されなくなります。したがって変更されません。