zoukankan      html  css  js  c++  java
  • 调用新浪接口记录

    调用新浪接口几个大致步骤
    首先必须有:
    1.<!--微博的开放平台ApiKey -->

    <add key="ApiKey" value="1234567890"/>

    2.<!--微博开放平台ApiKeySecret-->

    <add key="ApiKeySecret" value="0aaaaaaaaaaaaaaaaaaaaaaaa"/>


    : 请求用户授权Token: https://api.weibo.com/oauth2/authorize
    参数 redirect_uri  需要与申请的应用的回调地址一致(上线后只要回调地址和你的上线网站在同一个域名下就可以);

    本地测试最好是将127.0.0.1:10001/ 配置成域名的形式 local.host.com/;

    配置:C:WINDOWSsystem32driversetc     

        127.0.0.1       localhost(原有的)

        127.0.0.1       local.host.com(新增配置)就ok了。


    :获取Access Token:https://api.weibo.com/oauth2/access_token
      在一授权成功之后会返回code;这个code就是获取ACCESS_TOKEN的必传参数之一。


    :调用其它接口:
      调用二成功之后会返回调用其它接口必须要的access_token 和当前授权用户的微博id

      只要授权成功并成功得到access_token 调用其它接口就好办了,如:

    1:发微博的接口:https://api.weibo.com/2/statuses/update.json

      只要将微博的内容UTF-8编码(System.Web.HttpUtility.UrlEncode(WeiboContent, System.Text.Encoding.GetEncoding("UTF-8"))),微博中如果想放个  url链接也直接放地址即可;

    2:调用关注微博接口:https://api.weibo.com/2/friendships/create.json

      如果当前用户已经关注了你传过去需要关注的微博id的用户,服务器就会返回400的错误(不知为什么),只需在程序中try catch 一下就可以了

    关注用户的post方法做了小改动,如果只指定方法总是返回403错误 代码:
            /// <summary>  
            /// 通过post请求指定url地址并返回结果(将参数写入网络流中)  
            /// </summary>  
            /// <param name="url">求地址</param>  
            /// <param name="nvc">参数hashtable</param>  
            /// <returns></returns>  
    public static string RequestUrl_post(string url, Dictionary<string, string> nvc)

            {
                string param = "";
                foreach (string key in nvc.Keys)
                {
                    param += "&" + key + "=" + nvc[key];
                }
                if (param.StartsWith("&"))
                    param = param.Substring(1);
                byte[] bs = Encoding.ASCII.GetBytes(param); 
                string str = string.Empty;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.MaximumAutomaticRedirections = 3;
                request.Timeout = 0x2710;
                request.C;
                request.ContentLength = bs.Length;

                using (Stream reqStream = request.GetRequestStream())
                {
                    reqStream.Write(bs, 0, bs.Length);
                }
                using (Stream responseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(responseStream))
                    {
                        str = reader.ReadToEnd();
                    }
                }
                return str;
            }

  • 相关阅读:
    Android Media Playback 中的MediaPlayer的用法及注意事项(二)
    Android Media Playback 中的MediaPlayer的用法及注意事项(一)
    34. Search for a Range
    33. Search in Rotated Sorted Array
    32. Longest Valid Parentheses
    31. Next Permutation下一个排列
    30. Substring with Concatenation of All Words找出串联所有词的子串
    29. Divide Two Integers
    28. Implement strStr()子串匹配
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/mhker/p/3571852.html
Copyright © 2011-2022 走看看