マイクロ釘の.NETプラットフォーム、アプリケーション開発:ユーザーIDを取得します。

仕事はアリペイ小さなプログラムの数と生活の発展との接触がある前に、プロセスは大差ありません、マイクロネイルアプリケーションおよびアプレットを開発する必要があり、私がレコードで実現ここではASP.NET MVCでのマイクロアプリケーションを開発するために釘付け、そしてユーザーのユーザーIDへのアクセスを実現。ブラザー、私の限られた技術は、本明細書に名前付きまたはひどく書かれた方法のいくつかは、また、ポインタを与えてください。

そこ各プラットフォーム上で開発プラットフォームSDKの爪、私も、.NET SDKの対応バージョンをダウンロードする必要がありますが、ない完全な彼らが最初に最も地球アプローチで私を知ってもらう:私は必要なデータを取得するために直接HTTPリクエストを開始し、あなたは時間があれば、後で私はまた、.NETを占めるようになります。

1、登録ネイルマイクロアプリケーション:

登録が完了すると、このようIPホワイトリストとして、アプリケーション構成の下で改善し続けています。

基本で>開発情報(レガシー)、あなたはCorpidがあると見ることができる「マイクロアプリケーションビンタン認証コードを取得する」、公式文書、IDが必要です。

 

 

 2、コードを取得します:

ビンタンは最初corpidに基づいて認証コードを取得する必要があります。文書の公式の文言によると、このステップは、私は、ボタンのイベント、私は必要なコードを持つ点で返される結果に直接書き込む、非常に簡単です。

1 //ビンタン認証コードを取得する
 2 $( "#のgetAuthorCode" ).click(関数(){ 
 3             dd.ready(関数(){ 
 コールバック関数のための4つの// dd.readyパラメータ、準備中のトリガー対応の環境、 JSAPI呼び出すコールバック関数の後にそれ以外の場合は無効、呼び出しをトリガーすることを確認する必要があります。
 5                 dd.runtime.permission.requestAuthCode({ 
 6 corpId:「ここcorpid埋めるためには」 7  するonSuccess:機能(結果){  8アラート(「成功」) ; 9。アラート(result.code); 10 } ,. 11 onFail:関数(ERR)12 {アラート( "失敗"である); 13である} 14 }); 15 }); = 16のvar ARR []; arr.push 17(。 { "AuthorCode":authorCode})。18アヤックス( "/ホーム/ GetAuthorCode"、編曲、 "テキスト"、偽の); 19});

 

 3、access_tokenは得ます:

公式文書が書かれているかを見てください。

あ、はい、実際に私は主に限り、次のように割り当てられたパラメータは、適切なバックエンドのコードがあるとして、ここでバックグラウンドで「要求アドレス」を参照してください。

釘によって返されたデータを受信した後、access_tokenはを取得したデータを、デシリアライズさ。

1 /// <要約> 
 2 ///获取授权访问令牌
 3 /// </要約> 
 4 /// <戻る> </戻り> 
 5公共化するJsonResult GetAccessToken()
 6         { 
 7列のAppKey =「后台提供的キー」; 
 8文字列AppSecret = "后台提供秘密的"  9文字列のURL = "https://oapi.dingtalk.com/gettoken?appkey=" +のAppKey + "&appsecret =" + AppSecret。 10 WebRequestクラスリクエスト= WebRequest.Create(URL)。11にWebResponse応答= request.GetResponse()。12のStreamReaderリーダー=新しいStreamReaderを(response.GetResponseStream()、Encoding.ASCII)。13ストリングresponseData =reader.ReadToEnd(); 14 VARデータ= JsonConvert.DeserializeObject <CommonModel>(responseData)。// JSON字符串反序列化
         文字列トークン= data.access_token。
22リターンJSON(新しい{結果=真、トークン}、JsonRequestBehavior.AllowGet)。
23}

4、ユーザーIDを取得します:

ユーザーIDのための公式ドキュメントによると、あなたは、コードとトークンを使用する必要があります。

私は、バックグラウンドのコードと直接、トークンの前に数分を取得し、引数としてHTTPリクエストを開始すると、今回報告されたエラーコード40078、

 

 

 これは、認証機構は慎重に公式ドキュメントをチェックアウトすることができ、認証を再入力するためのコードが必要、の前に取得することです、私は非常に明確ではなかった、時間が文書を見て有用であろう。
それから私は戻って取得し、トークンコードのように:
/// 1 <概要> 
 2 ///ユーザーIDを取得する
 。3 /// </要約> 
 4 /// <戻り値> </戻り> 
 。5公共化するJsonResult getUserId()
 。6         { 
 7 //検索コード
 。8文字列= authorCode Request.Form [0 ]; 
 9 JavaScriptSerializer新しい新しいJSは= JavaScriptSerializer();  10 CommonModel selectListss =新しい新しいCommonModelを();  11 =データVAR js.Deserialize <リスト<CommonModel >> (authorCode);コードストリング12は= DATA [0 ] .AuthorCode; 13 14 //トークン15文字列のAppKey =「背景に設けられたキー」を取得16 appsecret文字列=「背景提供の秘密を」。; 17文字列のURL = "https://oapi.dingtalk.com/gettoken?appkey=" +のAppKey + "&appsecret =" + AppSecret。18 WebRequestクラスリクエスト= WebRequest.Create(URL)。19にWebResponse応答= request.GetResponse()。20のStreamReaderリーダー=新しいStreamReaderを(response.GetResponseStream()、Encoding.ASCII)。21ストリングresponseData = reader.ReadToEnd()。

          VARデータ= JsonConvert.DeserializeObject <CommonModel>( responseData); // JSON形式の文字列をデシリアライズ
          data.access_token =トークン文字列;

30              
31 //获取ユーザーID 
32列getUserId_Url = "https://oapi.dingtalk.com/user/getuserinfo?access_token=" +トークン+ "&コード=" + コード。
33 WebRequestクラスgetUserId_request = WebRequest.Create(getUserId_Url)。
34にWebResponse getUserId_response = getUserId_request.GetResponse()。
35のStreamReader getUserId_reader =新しいStreamReaderを(getUserId_response.GetResponseStream()、Encoding.ASCII)。 36ストリングgetUserId_responseData = getUserId_reader.ReadToEnd()。 37

          VARデータ= JsonConvert.DeserializeObject <CommonModel>(getUserId_responseData); // JSON文字列デシリアライズ

          文字列のユーザーID = data.userid。

45リターンJSON(新しい{結果=真、ユーザーID}、JsonRequestBehavior.AllowGet)。
46}

上記、プロジェクトはPC側(携帯電話回線)、私のIISサーバーをパックするために書かれており、公開されますネイルは、効果を確認するためのアプリケーションを開きます。

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/seaquakear/p/11431000.html