WeChat oauth2 を介してユーザー情報を取得するプロセス全体が完了しました。こちらも問題ありません。 。
しかし、途中で不明瞭な点があります。知っている人がこの質問に答えてくれることを願っています。 。
毎回コードを通じて access_token を取得する必要がありますか?
そうでない場合、ユーザーの openid は、access_token を取得するときにのみ返されます。それ以外の場合、ユーザーの openid は取得されません。
それとも、初めてユーザーの openid を取得した後、それを cookie に保存し、次回その cookie を読み取りますか? ? ?
それ以外の場合、access_token を更新する意味は何でしょうか? 。 。
もう 1 つの疑問は、取得された access_token が現在のセッションに対してのみ有効なのか、特定のユーザー openid に対して有効なのか、それともすべてのユーザーに対して有効なのかということです。 。 。
WeChat に初めて連絡しました。ありがとうございます。 。 。 。 。
これは、WeChat 上で管理機能を操作する必要がある場合にのみ使用されます。通常、一般的なチャットの管理バックエンドのみが存在します。 WeChat プラットフォーム。通常、最初の取得後に、すべての操作で 1 回取得して 1 日の API 呼び出し数が消費されるのを防ぐために記録するためにのみ使用されます。
これは、WeChat 上の管理機能を操作する必要がある場合にのみ使用されます。通常、WeChat プラットフォームの管理背景のみがこれを使用します。初回以降は、すべての操作で一度取得してしまい、その日の API 呼び出し数が消費されてしまうことを防ぎます。
ユーザーの openid はデータベースに保存され、ユーザーにバインドされます。
access_token は取得するたびにデータベースに保存されます。使用する前に、まず access_token の有効期限が切れているかどうかを確認してください。有効期限が切れている場合は、再取得して保存してください。制限を受け続けると、最終的にはサービスを提供できなくなります
しかし、WeChat の Web 認証では、ユーザーの openid を取得する唯一の方法は、トークンを取得して同時に返すことです。 。つまり、トークンを取得するときに、トークンと、現在 Web ページにアクセスしている WeChat ユーザーの openID の両方が返されます。 。基本的なインターフェースとは異なります。基本インターフェースでは、ユーザーが操作するたびにユーザーのopenidを取得できます。 。 "scope" :"SCOPE"
}
しかし、ユーザーのopenidがなければ、トークンを持っていてもユーザー情報を取得することはできません。 。
つまり、現在 Web ページにアクセスしている WeChat ユーザーの openid を取得するには、まずトークンを取得する必要があります。その後、現在 Web ページにアクセスしている WeChat ユーザーの openid を取得できます。
このように、毎回トークンを取得する必要があります。私がそれを保持する意味はありません。 。
詳細については、以下を参照してください:
http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
または、トークンと openid を初めて取得した後に保存します。
次に、ユーザーの openid を cookie に保存します。 。
次回は、Cookie内のopenidと、保存されているopenidに対応するトークンを直接読み取り(トークンを取得するステップをスキップするのと同等)、ユーザー情報を直接取得しますか? ?
ただし、この場合、クライアントが Cookie をサポートしていなくても、結果は同じになります。 。 。 。
ユーザー統計を行う必要があるのは何ですか? サードパーティのログインのためだけの場合は、WeChat のサードパーティのログイン文書に従うだけで済みます。バックグラウンドでユーザー同期を実行したい場合は、パブリックが必要です。いいえ。
WeChat アクティビティを実行します。 。
これにはログインは必要ありません。Web ページにアクセスする各 WeChat ユーザーの openID だけで十分です
チャンスはありません。 。 。 。やあ