當前位置: 首頁>>代碼示例>>C#>>正文


C# AccessToken.ContainsKey方法代碼示例

本文整理匯總了C#中AccessToken.ContainsKey方法的典型用法代碼示例。如果您正苦於以下問題:C# AccessToken.ContainsKey方法的具體用法?C# AccessToken.ContainsKey怎麽用?C# AccessToken.ContainsKey使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在AccessToken的用法示例。


在下文中一共展示了AccessToken.ContainsKey方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: GetUserInfo

    /// <summary>
    /// Gets the user details.
    /// </summary>
    /// <param name="accessToken">May contain an access token, which will have to be used in obtaining information about the user.</param>
    /// <exception cref="ApiException"/>
    public override UserInfo GetUserInfo(AccessToken accessToken = null)
    {
      // help: http://vk.com/dev/users.get

      accessToken = base.GetSpecifiedTokenOrCurrent(accessToken);

      // query parameters
      var parameters = new NameValueCollection
      { 
        { "user_ids", accessToken["user_id"].ToString() },
        { "fields", "sex,bdate,city,country,photo_max_orig,domain,contacts,site" }
      };

      // execute the request
      var result = OAuthUtility.Get
      (
        "https://api.vk.com/method/users.get", 
        parameters: parameters, 
        accessToken: accessToken
      );

      if (result.ContainsKey("error"))
      {
        throw new ApiException(result, result["error"]["error_msg"].ToString());
      }

      // field mapping
      var map = new ApiDataMapping();
      map.Add("uid", "UserId", typeof(string));
      map.Add("first_name", "FirstName");
      map.Add("last_name", "LastName");
      map.Add("domain", "UserName");
      map.Add("photo_max_orig", "Userpic");
      map.Add("mobile_phone", "Phone");
      map.Add("bdate", "Birthday", typeof(DateTime), @"dd\.MM\.yyyy");
      map.Add
      (
        "site", "Url",
        delegate(UniValue value)
        {
          if (value.HasValue || String.IsNullOrEmpty(value.ToString())) { return null; }
          return value.ToString().Split(' ').First();
        }
      );
      map.Add
      (
        "sex", "Sex",
        delegate(UniValue value)
        {
          if (Convert.ToInt32(value) == 2)
          {
            return Sex.Male;
          }
          else if (Convert.ToInt32(value) == 1)
          {
            return Sex.Female;
          }
          return Sex.None;
        }
      );

      // email, thanks to Aleksander (KamAz) Kryatov (http://vk.com/acid_rock) for idea
      if (accessToken.ContainsKey("email"))
      {
        result["response"].First().Add("at_email", accessToken["email"]);
        map.Add("at_email", "Email", typeof(string));
      }
      // --

      // parse the server response and returns the UserInfo instance
      return new UserInfo(result["response"].First(), map);
    }
開發者ID:DreamerUA,項目名稱:nemiro.oauth.dll,代碼行數:77,代碼來源:VkontakteClient.cs


注:本文中的AccessToken.ContainsKey方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。