>  기사  >  위챗 애플릿  >  C# WeChat 개발 시리즈 - 인터페이스 호출을 위한 자격 증명 얻기

C# WeChat 개발 시리즈 - 인터페이스 호출을 위한 자격 증명 얻기

高洛峰
高洛峰원래의
2017-03-03 09:26:371609검색

3.0 인터페이스 호출 자격 증명 받기

1인터페이스 설명

access_token은 공식 계정 호출 시 글로벌 고유 티켓입니다. 각 인터페이스에는 모두 access_token이 필요합니다. 개발자는 이를 올바르게 저장해야 합니다. access_token 저장을 위해 최소 512자 이상의 공간을 확보해야 합니다. access_token의 유효 기간은 현재 2시간(7200초)이며 정기적으로 새로 고쳐야 합니다. 반복적으로 획득하면 마지막 access_token이 무효화됩니다.

공개 플랫폼에서 API 호출에 필요한 access_token 사용 및 생성에 대한 지침:


1. 중앙 제어 서버를 획득하고 새로 고치려면 access_token이 필요합니다. 다른 비즈니스 로직 서버에서 사용하는 access_token은 중앙 제어 서버에서 가져오므로 개별적으로 새로 고쳐서는 안 됩니다. 그렇지 않으면 access_token이 덮어쓰기되어 비즈니스에 영향을 미칩니다.

2. access_token의 현재 유효 기간은 다음을 통해 전달됩니다. 반환된 만료_in , 현재 값은 7200초 이내입니다. 중앙 관제 서버는 이 유효한 시간에 따라 미리 새로운 access_token을 새로 고쳐야 합니다. 새로 고침 프로세스 중에 중앙 제어 서버는 여전히 이전 access_token을 출력합니다. 이때 공용 플랫폼 백엔드는 이전 및 새 access_token을 짧은 새로 고침 시간 내에 사용할 수 있도록 보장하여 제3자의 원활한 전환을 보장합니다.

3. access_token의 유효기간은 향후 조정될 수 있으므로 중앙 관제 서버는 정기적으로 내부적으로 적극적으로 새로 고침을 제공해야 합니다. access_token을 수동적으로 새로 고치기 위한 인터페이스입니다. 이를 통해 비즈니스 서버는 API 호출 중에 access_token이 업데이트되었음을 ​​알 수 있습니다. 시간 초과 시 access_token의 새로 고침 프로세스가 트리거될 수 있습니다.

AppID와 AppSecret을 얻는 방법! ?

공식 계정은 AppID 및 AppSecret을 사용하여 이 인터페이스를 호출하여 access_token을 얻을 수 있습니다. AppID와 AppSecret은 위챗 공개 플랫폼 공식 홈페이지 - 개발자 센터 페이지에서 받으실 수 있습니다. (개발자가 되어야 하며 계정에 비정상적인 상태가 없어야 함)

참고: 제3자가 중앙 제어 서버를 사용하지 않는 경우에도 모든 WeChat 인터페이스를 호출할 때 https 프로토콜이 사용됩니다. 각 사업을 선택하고 각 논리점마다 access_taken을 새로 고칠 경우 충돌이 발생하여 서비스가 불안정해질 수 있습니다.

②요청 인터페이스

인터페이스 호출 요청 설명:


http 요청 방법: GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

인터페이스 매개변수 구성:

C# WeChat 개발 시리즈 - 인터페이스 호출을 위한 자격 증명 얻기

구체적인 구현 코드는 다음과 같습니다.

/// <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}


오류가 발생하면 WeChat은 오류 코드 정보를 반환합니다. JSON 데이터 패킷의 예는 다음과 같습니다. (이 예는 잘못된 AppID 오류입니다.) :

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

참고: access_token을 사용할 때 다음 사항에 유의하세요. 인터페이스에는 통화 빈도 제한이 있습니다. WeChat 서버는 일일 최대 통화 빈도에 따라 현재 공식 계정에 인터페이스 제한을 적용합니다. 자세한 내용은 공식 문서(WeChat 공식 계정 인터페이스 빈도 제한 설명)를 참조하세요.

더 보기 C# WeChat 개발 시리즈 - 관련 인터페이스 호출 자격 증명 얻기 관련 기사는 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.