ホームページ  >  記事  >  WeChat アプレット  >  C# WeChat 開発シリーズ - インターフェイス呼び出しの資格情報の取得

C# WeChat 開発シリーズ - インターフェイス呼び出しの資格情報の取得

高洛峰
高洛峰オリジナル
2017-03-03 09:26:371607ブラウズ

3.0 インターフェース呼び出し認証情報の取得

①インターフェースの説明

access_token は公式アカウントのグローバルユニークチケット 公式アカウントは各インターフェースを呼び出す際に access_token を使用する必要があります。開発者はそれを適切に保存する必要があります。 access_token ストレージ用に少なくとも 512 文字のスペースを予約する必要があります。 access_token の有効期間は現在 2 時間 (7200 秒) であり、定期的に取得を繰り返すと最後の access_token が無効になります。

パブリック プラットフォームでの API 呼び出しに必要な access_token の使用と生成に関する手順:


1. appsecret の機密性を保つために、サードパーティは access_token を取得して更新するための中央制御サーバーが必要です。他のビジネス ロジック サーバーによって使用される access_token は中央制御サーバーから取得されるため、個別に更新しないでください。そうしないと、access_token が上書きされ、ビジネスに影響を及ぼします。

2。現在、数秒以内に 7200 の値になります。中央制御サーバーは、この有効時間に従って、新しい access_token を事前に更新する必要があります。更新プロセス中、中央制御サーバーは依然として古い access_token を出力します。このとき、パブリック プラットフォーム バックエンドは、更新の短時間内に古い access_token と新しい access_token の両方が利用可能になることを保証し、これによりサードパーティのスムーズな移行が保証されます。ビジネス;

3 、access_token の有効期間は将来調整される可能性があるため、中央制御サーバーは定期的に内部でアクティブに更新する必要があるだけでなく、access_token を受動的に更新するためのインターフェイスも提供する必要があります。 API 呼び出しが access_token の更新プロセスがタイムアウトしたことを認識すると、ビジネス サーバーは access_token をトリガーできます。

AppIDとAppSecretを取得する方法! ?

パブリック アカウントは、AppID と AppSecret を使用してこのインターフェイスを呼び出し、access_token を取得できます。 AppID と AppSecret は、WeChat パブリック プラットフォームの公式 Web サイト - デベロッパー センター ページから取得できます。 (開発者になっている必要があり、アカウントに異常なステータスがない)

注: サードパーティが中央制御サーバーを使用せず、各ビジネス ロジックを選択する場合も、すべての WeChat インターフェイスを呼び出すときに https プロトコルを使用します。 access_taken を更新すると、競合が発生し、サービスが不安定になる可能性があります。

rrequestインターフェイス=APPSECRET

インターフェースパラメータ設定:


具体的な実装コードは次のとおりです:

/// <summary>
/// 获取公众号的ACCESS_TOKEN
/// </summary>
/// <returns>返回操作凭据</returns>
public string GetAccessToken()
{
  if (HttpContext.Current.Cache["access_token"] == null)
   {
     string para = string.Format("grant_type=client_credential&appid={0}&secret={1}", AppID, AppSecret);
     string results = SendHTTPRequest("POST", "https://api.weixin.qq.com/cgi-bin/token", para);
     JObject obj = (JObject)JsonConvert.DeserializeObject(results);

     //*******************************设置access_token的过期机制**************************

     Cache cache = HttpContext.Current.Cache;
     cache.Insert("access_token", obj["access_token"].ToString(), null, DateTime.Now.AddSeconds(7000),
      System.Web.Caching.Cache.NoSlidingExpiration);

     //******************************************end*************************************
     return HttpContext.Current.Cache["access_token"].ToString();
   }
   else
   {
     return HttpContext.Current.Cache["access_token"].ToString();
   }
}

戻りパラメータの説明:

C# WeChat 開発シリーズ - インターフェイス呼び出しの資格情報の取得戻り値の説明:

通常状況、WeChat次の JSON データ パケットがパブリック アカウントに送信されます:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

C# WeChat 開発シリーズ - インターフェイス呼び出しの資格情報の取得

エラーが発生した場合、WeChat はエラー コード情報を返します。 JSON データ パケットの例は次のとおりです (例は AppID 無効エラーです):


{"errcode":40013,"errmsg":"invalid appid"}

注: access_token を使用する場合、このインターフェイスには通話頻度の制限。1 日の上限を超えると、WeChat サーバーの通話頻度により現在の公式アカウントにインターフェース制限が課されます。詳細については、公式ドキュメント (WeChat 公式アカウントのインターフェース制限の説明) をご覧ください。 C# WeChat 開発シリーズ - インターフェイス呼び出し認証情報の取得に関する記事をもっと見る。PHP 中国語 Web サイトに注目してください。

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