BIMFACE二次开发(.NET)

BIMFACE开发一:服务端接口调用

说明

BIMFACE开发的重要内容之一就是调用服务端接口。可以官方文档查看,注意服务端接口,不能在web端用js调用!

后台帮助类

直接上代码,本帮助类,目前只是写了调用accesstoken的方法,后续还会增加。

using System; 
using System.IO; 
using System.Net;
using System.Text;

namespace Helper.BIMFACEHelper
{
    /// <summary>
    /// BIMFACE二次开发所用的公共方法
    /// 官方文档 http://static.bimface.com/book/restful/articles/api/accesstoken.html?p=doc
    /// author:长安山南君,zhao power
    /// date:2019年1月11日22:28:48
    /// </summary>
    public class BIMFACEHelper
    {

        #region 获取AccessToken
        /// <summary>
        /// 获取AccessToken
        /// </summary>
        /// <param name="appKey">BIMFACE项目的appKey</param>
        /// <param name="appSecret">appSecret</param>
        /// <returns>AccessToken 字符串</returns>
        /// 成功:{"code":"success","message":null,"data":{"token":"xxxx-xxxx-xxxx-xxxx","expireTime":"2016-05-01 01:11:11"}}
        /// 失败: {"code":"authentication.failed","message":"Invalid basic authentication token."}
        public string GetAccessToken(string appKey, string appSecret)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.bimface.com/oauth2/token");
            //按 官方文档 构成参数
            string KeyAndSecret = appKey + ":" + appSecret;
            string AuthorizationPara = EncodeBase64("utf-8", KeyAndSecret); //对于KeyAndSecret , 采用GBK、utf-8、GB2312编码结果是相同的。
            AuthorizationPara ="Basic "+AuthorizationPara;
            //post请求
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("authorization", AuthorizationPara);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));

            string retString = myStreamReader.ReadToEnd();  //字符串类型的json,不用刻意转换成json,也不能转换成json对象。       
            //JsonResult myJson = new JsonResult();
            //myJson.Data = retString;
            //myJson.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return retString; //换回字符串,web前台使用JSON.parse() 将字符串转换成 json对象使用。
        }
        #endregion
        #region base64编码和解码
        /// <summary>
        /// base64编码
        /// </summary>
        /// <param name="code_type">编码类型</param>
        /// <param name="code">待编码的字符串</param>
        /// <returns></returns>
        public static string EncodeBase64(string code_type, string code)
        {
            string encode = "";
            byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
            try
            {
                encode = Convert.ToBase64String(bytes);
            }
            catch
            {
                encode = code;
            }
            return encode;
        }
        /// <summary>
        /// base64解码
        /// </summary>
        /// <param name="code_type">编码类型</param>
        /// <param name="code">待编码的字符串</param>
        /// <returns>编码后的字符串</returns>
        public static string DecodeBase64(string code_type, string code)
        {
            string decode = "";
            byte[] bytes = Convert.FromBase64String(code);
            try
            {
                decode = Encoding.GetEncoding(code_type).GetString(bytes);
            }
            catch
            {
                decode = code;
            }
            return decode;
        }
        #endregion
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42727550/article/details/86322440
今日推荐