ホームページ  >  記事  >  バックエンド開発  >  エンタープライズパブリックアカウントをエンタープライズ WeChat にアップグレードした後にメッセージ送信が失敗する理由

エンタープライズパブリックアカウントをエンタープライズ WeChat にアップグレードした後にメッセージ送信が失敗する理由

小云云
小云云オリジナル
2018-02-10 11:25:324456ブラウズ

最近、WeChat が企業公開アカウントを企業 WeChat にアップグレードしたというニュースを見ました。当時は気にしていませんでしたが、後で、会社の公開アカウントのインターフェイスを使用して通知メッセージを送信するプログラムがメッセージを送信できなくなっていることに気づきました。この記事では、企業公式アカウントを企業WeChatにアップグレードした後にメッセージが送信できない原因と解決策について説明します。

新しいバックエンドにログインして確認すると、アプリケーションの Secret 値が変更され、以前より桁数が減っていることがわかります。コード内の Secret 値を新しい値に置き換えた後も、まだ機能しないことがわかりました。デバッグ後、post リクエストを使用してインターフェイスを呼び出してメッセージを送信するときにエラーが見つかりました: {"errcode":-1,"errmsg":"Invalid input"}。分析には 2 つの理由が考えられます。1 つは呼び出されたメッセージ送信インターフェイスのアドレスが間違っているか、渡されたポスト パラメーターの形式が間違っていることです。

幸いなことに、公式 Web サイトで WeChat Enterprise の API ドキュメントを見つけました: https://work.weixin.qq.com/api/doc には、より詳しい使用手順が記載されています。呼び出し側インターフェイスの URL アドレスが変更されていないことが確認されました (https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN は引き続きメッセージの送信に使用されます)。ただし、テキストメッセージの形式が少し異なることに気付きました。公式サイトの例は次のとおりです。


{
    "touser" : "UserID1|UserID2|UserID3",
    "toparty" : " PartyID1|PartyID2 ",
    "totag" : " TagID1 | TagID2 ",
    "msgtype" : "text",
    "agentid" : 1,
    "text" : {
      "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
    }
}

上記の UserID と PartyID は以前は数値として渡されていたはずですが、この例ではそれらは引用符で囲まれています。つまり、文字列として扱われます。そこで、コードを文字列に変更して試してみたところ、うまくいきました。 。 。

関連する推奨事項:

エンタープライズ WeChat パブリック プラットフォーム API インターフェイス開発 3G Web サイト_PHP チュートリアル


以上がエンタープライズパブリックアカウントをエンタープライズ WeChat にアップグレードした後にメッセージ送信が失敗する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。