Exemplo n.º 1
0
        /// <summary>
        /// 自动更新Passport的链接方法
        /// </summary>
        /// <param name="apiFunc"></param>
        /// <returns></returns>
        public IP2PResult <T> Connection <T>(Func <IP2PResult <T> > apiFunc) where T : IP2PResultData
        {
            var result = apiFunc();

            if (result.Result == P2PResultKind.账户验证失败)
            {
                //更新Passport
                SdkManager.ApplyPassport(_passport.AppKey, _passport.Secret, _passport.Url);
                result = apiFunc();
            }
            return(result);
        }
Exemplo n.º 2
0
        public ApiContainer(string appKey, string appSecret, string url = SdkManager.DEFAULT_URL)
        {
            var passportBag = SdkManager.GetPassportBag(appKey);

            if (passportBag == null || passportBag.Passport == null)
            {
                SdkManager.ApplyPassport(appKey, appSecret, url);
            }

            Passport = SdkManager.GetPassportBag(appKey).Passport;//执行SdkManager.ApplyPassport后,PassportCollection[appKey]必定存在

            FriendApi  = new FriendApi(Passport);
            MessageApi = new MessageApi(Passport);
            MediaApi   = new MediaApi(Passport);
        }