1. 程式人生 > >易班2016.net SDK RestSharp access_token獲取錯誤 解決方案

易班2016.net SDK RestSharp access_token獲取錯誤 解決方案

自己重新寫一個POST方式函式

        public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, Encoding charset)
        {
            HttpWebRequest request = null;
            request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";//官網要求使用from-data方式POST,很迷,實際上用這種也能取到
            //如果需要POST資料     
            if (!(parameters == null || parameters.Count == 0))
            {
                StringBuilder buffer = new StringBuilder();
                int i = 0;
                foreach (string key in parameters.Keys)
                {
                    if (i > 0)
                    {
                        buffer.AppendFormat("&{0}={1}", key, parameters[key]);
                    }
                    else
                    {
                        buffer.AppendFormat("{0}={1}", key, parameters[key]);
                    }
                    i++;
                }
                byte[] data = charset.GetBytes(buffer.ToString());
                using (Stream stream = request.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }
            }
            return request.GetResponse() as HttpWebResponse;
        }

            //此處為呼叫函式擷取
            string url = "https://openapi.yiban.cn/oauth/access_token";;
            Encoding encoding = Encoding.GetEncoding("utf-8");
            IDictionary<string, string> parameters = new Dictionary<string, string>
            {
                { "client_id", context.Config.AppId },
                { "client_secret", context.Config.AppSecret },
                { "code", code },
                { "redirect_uri", context.Config.Callback }
            };
            HttpWebResponse response1 = CreatePostHttpResponse(url, parameters, encoding);
            //列印返回值  
            Stream stream = response1.GetResponseStream();   //獲取響應的字串流  
            StreamReader sr = new StreamReader(stream); //建立一個stream讀取流  
            string html = sr.ReadToEnd();   //從頭讀到尾  
            var result1 = Deserialize<AccessToken>(html);//能獲取到,之後就用SDK封裝好的api

相關推薦

2016.net SDK RestSharp access_token獲取錯誤 解決方案

自己重新寫一個POST方式函式        public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, Enco

asp.net MVC 常見安全問題及解決方案

container coo baidu his ring article 調試工具 並且 part asp.net MVC 常見安全問題及解決方案一.CSRF (Cross-site request forgery跨站請求偽造,也被稱為“one click attack”或

VMware下網絡模式配置與IP地址無法正常獲取解決方案

什麽 應該 任務 互連 但我 intern 資料 for 互聯 目錄一 網絡配置中出現的錯誤及解決方案二 VMware下網絡配置的三種模式簡介 1、橋接模式(Bridged) 2、網絡地址轉化模式(NAT) 3、僅主機模式(host-only)一 網

未找到具有固定名稱“System.Data.SqlClient”的 ADO.NET 提供程序的實體框架 解決方案

pos server 一個 ado.net 框架 using 應用程序 引用 命名空間 今天在做EF ORM框架時,發生了一個異常: “無法為具有固定名稱“System.Data.SqlClient”的 ADO.NET 提供程序加載在應用程序配置文件中註冊的實體框架提供程序

fetch各種報跨域錯誤,數據無法獲取解決方案

pla 簡單的 eth 博客 tar 是你 -a redirect 就是 1、介紹 fetch 提供了一個獲取資源的接口 (包括跨域)。 fetch 的核心主要包括:Request , Response , Header , Body 利用了請

JMETER java.net.SocketException: Connection reset 報錯解決方案

exception cti 延遲 nec exceptio -- delay log 方案 相關值解析MaxUserPort:最大動態端口數(Default = 5000, Max = 65534)TcpTimedWaitDelay:TCP等待延遲時間(30)TcpNumC

Debian/Ubuntu 下網雲音樂無法由圖示/列表 開啟的解決方案

前言 本文為使用圖示或快捷方式直接開啟網易雲音樂的一個從安裝說起的到解決問題的簡單教程 環境 debian 9.5 理論上使用apt包管理器的發行版均支援 源使用國內的源即可,無需特殊指定 安裝網易雲音樂 選擇其中的linux版,然後下載ubuntu版的就可以了,這裡我下載的是最新的netease

【Project SDK is not defined】錯誤解決方案

錯誤分析: 首先看報錯原因,錯誤資訊顯示專案SDK未定義,提示讓安裝SDK,一些新手小夥伴們這個時候就有點迷惑了,只知道jdk是java開發工具包,那麼SDK是什麼呢,我也從來沒有用過這個東西呀,怎麼這個時候就提示讓我安裝呢。這個時候小夥伴們不要著急,其實SDK指的是軟

Android sdk 接入時遇到的錯誤解決方案

Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/mi/san/R$attr; Uncaught translation error: java.lang.

tomcat啟動報java.net.BindException: Address already in use: bind錯誤解決方案

繼續學習Spring Boot,我新建了一個Spring Boot的專案 ,建好專案之後,進行測試時,出現瞭如下錯誤: java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind0

安裝SQL Server2012報Microsoft.NET Framework4無法安裝錯誤解決方案

    今天在安裝SQL Server2012版本時,在最後出現,沒有安裝Microsoft .NET Framework4,請安裝這個繼續安裝SQLServer2012,於是就重官網下載Microsoft .NET Framework4進行安裝出現如下錯誤: 用安裝的電腦

高德地圖 key獲取與Key錯誤解決方案

鑑於Android版SDK中出現的大量key驗證失敗問題,基本上都是在API控制檯申請AK的時候填寫的包名或者SHA1不正確導致的(包名或者SHA1的獲取詳見官方教程)。搜尋log,若出現"Authentication Error errorcode: 230 uid: -1 appid -1 msg: A

開發中 華為手機無法 直接 進入相簿獲取圖片解決方案

開發中碰到無法直接進入相簿的情況,會彈出選擇介面,而需求是要直接從相簿獲取圖片public void localImage(int code) {Intent intent;if (Build.VERSION.SDK_INT < 19) {intent = new I

關於微信sdk的注意事項與解決方案

不得不說,為了實現一個微信簡單的分享功能真的是浪費了我好多的時間,官方的文件說的什麼我也不做什麼評價,畢竟這個sdk是人家寫的,我學習這個sdk的重要方法就是在看那個給的那個官方的demo,就和學習百度雲推送一樣,我感覺我們要是可以理清了這個demo的基本思路,那麼我們就可

C#HttpClient關閉ssl(https)方法,暨System.Net.Http.WinHttpException: 發生了安全錯誤 解決方案

var handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = delegate { return true; };

Android sdk content loader 0%的解決方案

方法一(關閉後重啟):     遇到Eclipse右下角一直顯示“Android sdk content loader 0%”的情況時,直接關掉Eclipse,有ADB程序在執行時通過程序管理器結束程序,然後重啟Eclipse。通過這種方法多數情況下問題會得到解決。2

ASP.NET Ajax 跨域問題最佳解決方案

通過設定Access-Control-Allow-Origin來實現跨域。 例如:客戶端的域名是client.runoob.com,而請求的域名是server.runoob.com。 如果直接使用ajax訪問,會有以下錯誤: XMLHttpRequest cannot

push to origin/master was rejected錯誤解決方案 轉載 https://blog.csdn.net/a137151062/article/details/788208

idea中,釋出專案到OSChina的Git中,當時按照這樣的流程新增Git,然後push,提示:push to origin/master war rejected"。 解決方案如下: 1.切換到自己專案所在的目錄,右鍵選擇GIT BASH Here,Id

修改android studio中的avd sdk路徑、avd sdk找不到的解決方案

很多人都遇到安裝android studio之後需要下載gradle和重新下載avd sdk的問題 首先,設定環境變數,ANDROID_SDK_HOME值為sdk所在目錄,GRADLE_HOME值為gradle所在目錄,在path中新增%ANDROID_SDK_HOME

基於.Net的單點登入(SSO)解決方案(2)

//產生令牌 string tokenValue = Guid.NewGuid().ToString().ToUpper(); HttpCookie tokenCookie = new HttpCookie("Token"); tokenCookie.Values.Add(