WeChatパブリックプラットフォームカスタマーサービスメッセージinvalid openIDエラーerrcode:40003


JSONを組み立てるコードを見てみましょう.このような形式を直接使っているに違いありません.
"touser": $openID

jsonを使ってみたらencodeの場合、invalid openIDエラーを報告しないことに気づきます.
2つの方法で組み立てられたデータを印刷して比較することができます.
string(104) "{"touser":"xxxxxxx","msgtype":"text","text":{"content":"xxx"}}"()
string(173) "{
     'touser':xxxxxxx,
     'msgtype':'text',
     'text':
     {
          'content':xxx
     }
}"
明らかに、後者の「openID」は二重引用符で含まれていない.これがinvalid openIDのエラーの原因である.
2つの方法があります.1つ目は「$openID」という形式でデータを組み立てることですが、それは提唱されていません.
あとはjson_を使ってencodeは配列データを組み立てるが、使ったことがある人はcontentの漢字がunicode文字に変換されていることに気づくかもしれない.解決策はネット上でch_を探すことだ.json_encode()メソッドは、完璧に解決できます!
オリジナル!手で打つ!