예제 #1
0
 /// <summary>
 /// 残高取得API
 /// ユーザーの残高に関する情報を取得することができます。
 /// </summary>
 /// <param name="user">ユーザー認証オブジェクト。</param>
 /// <param name="detail">個別の勘定を取得するかどうか。0を指定した場合取得しません。1を指定した場合、個別の勘定を取得します。</param>
 /// <returns></returns>
 public AccountBalanceResponse GetAccountBalance(AskMonaUser user, int detail = 0)
 {
     return(PostAuth <AccountBalanceResponse>("http://askmona.org/v1/account/balance", user, new Dictionary <string, string>
     {
         { "detail", detail.ToString() }
     }));
 }
예제 #2
0
 /// <summary>
 /// レス投稿API
 /// トピックに投稿することができます。
 /// </summary>
 /// <param name="user">ユーザー認証オブジェクト。</param>
 /// <param name="t_id">投稿するトピックの、トピックID。</param>
 /// <param name="text">レス本文。文字数は1024字以内、改行は15行以内という制約があります。</param>
 /// <returns></returns>
 public AskMonaResponse PostResponse(AskMonaUser user, int t_id, string text)
 {
     return(PostAuth <AskMonaResponse>("http://askmona.org/v1/responses/post", user, new Dictionary <string, string>
     {
         { "t_id", t_id.ToString() },
         { "text", text }
     }));
 }
예제 #3
0
 /// <summary>
 /// MONA送金API
 /// 特定のユーザーにMONAを送金することができます。
 /// </summary>
 /// <param name="user">ユーザー認証オブジェクト。</param>
 /// <param name="to_u_id">送金したい相手のユーザーID。</param>
 /// <param name="amount">送金したいMONAの額。watanabe単位で指定してください(1MONAは100,000,000watanabeで、amountは整数値をとります)。たとえば、12MONAを送りたい場合は、amount='1200000000'となります。また、仕様により、一度に100万MONA以上の額は送れません。</param>
 /// <param name="anonymous">匿名で送金するかどうか。0を指定した場合、ユーザーIDとユーザー名を送金相手に知らせることができます。1を指定した場合、匿名で送金します。</param>
 /// <returns></returns>
 public SendAccountResponse SendAccountAccountToUser(AskMonaUser user, int to_u_id, decimal amount, int anonymous = 1)
 {
     return(PostAuth <SendAccountResponse>(@"http://askmona.org/v1/account/send", user, new Dictionary <string, string>
     {
         { "to_u_id", to_u_id.ToString() },
         { "amount", amount.ToString("整数") },
         { "anonymous", anonymous.ToString() }
     }));
 }
예제 #4
0
 /// <summary>
 /// お気に入り取得API
 /// お気に入りに登録したトピックの一覧を取得すことができます。
 /// </summary>
 /// <param name="user"></param>
 /// <param name="order">並べ替える条件。'added'はお気に入りに追加された時刻順、'updated'はトピックが更新された順で並べ替えられます。</param>
 /// <param name="limit">取得するお気に入りの個数。最大値は200です。</param>
 /// <param name="offset">取得するお気に入りのオフセット(取得開始位置)。最大値は200です。</param>
 /// <returns></returns>
 public TopicListResponse GetFavoriteTopicList(AskMonaUser user, FavoriteTopicOrder order = FavoriteTopicOrder.added, int limit = 200, int offset = 0)
 {
     return(PostAuth <TopicListResponse>(@"http://askmona.org/v1/favorites/list", user, new Dictionary <string, string>
     {
         { "order", order.ToString() },
         { "limit", limit.ToString() },
         { "offset", offset.ToString() }
     }));
 }
예제 #5
0
        /// <summary>
        /// シークレットキー取得API
        /// 自動的にアプリケーション連携を行い、認証キーの作成に使うシークレットキーを取得することができます。
        /// </summary>
        /// <param name="u_address">利用者のMonacoinアドレス。</param>
        /// <param name="pass">利用者のパスワード。</param>
        /// <returns></returns>
        public SigninResponse Signin(string u_address, string pass)
        {
            var slr = SigninLow(u_address, pass);
            var ret = new SigninResponse();

            ret.status = slr.status;
            ret.error  = slr.error;
            ret.user   = AskMonaUser.Create(slr.u_id, slr.secretkey);
            return(ret);
        }
예제 #6
0
        /// <summary>
        /// Ask Mona登録API
        /// 新しくAsk Monaにアカウントを作成することができます。また、自動的にアプリケーション連携を行い、認証キーの作成に使うシークレットキーを取得することができます。
        /// </summary>
        /// <param name="u_address">利用者が登録に使うMonacoinアドレス。</param>
        /// <param name="u_name">利用者の名前。最大で12文字です。指定しない場合は「名無し」となります。</param>
        /// <param name="pass">利用者が登録に使うパスワード。6字以上で指定してください。</param>
        /// <param name="agree">Ask Mona利用規約に同意するかどうか。同意する場合、1を指定して下さい。同意しない場合は登録できません。</param>
        /// <returns></returns>
        public SignupResponse Signup(string u_address, string u_name, string pass, int agree = 0)
        {
            var slr = SignupLow(u_address, u_name, pass, agree);
            var ret = new SignupResponse();

            ret.status = slr.status;
            ret.error  = slr.error;
            ret.user   = AskMonaUser.Create(slr.u_id, slr.secretkey);
            return(ret);
        }
예제 #7
0
        internal async Task <T> PostAuthAsync <T>(string url, AskMonaUser user, Dictionary <string, string> data)
        {
            var ak = user.GenerateAuthKey(app_secretkey);

            data.Add("app_id", app_id.ToString());
            data.Add("u_id", user.u_id.ToString());
            data.Add("nonce", ak.nonce);
            data.Add("time", ak.time);
            data.Add("auth_key", ak.auth_key);
            return(await PostAsync <T>(url, data));
        }
예제 #8
0
		/// <summary>
		/// シークレットキー検証API
		/// 認証キーの作成に使うシークレットキーが有効か判断できます。有効かどうかは、すべての要認証APIのエラー情報から確かめられますので、通常は他のAPIを使用して検証してください。なお、有効でない場合は、要認証API利用チャートの手順2からやり直してください。
		/// </summary>
		/// <param name="user">ユーザー認証オブジェクト。</param>
		/// <returns></returns>
		public AskMonaResponse GetVerifyUser(AskMonaUser user)
		{
			return PostAuth<AskMonaResponse>("http://askmona.org/v1/auth/verify", user, new Dictionary<string, string>());
		}
예제 #9
0
		/// <summary>
		/// 残高取得API
		/// ユーザーの残高に関する情報を取得することができます。
		/// </summary>
		/// <param name="user">ユーザー認証オブジェクト。</param>
		/// <param name="detail">個別の勘定を取得するかどうか。0を指定した場合取得しません。1を指定した場合、個別の勘定を取得します。</param>
		/// <returns></returns>
		public AccountBalanceResponse GetAccountBalance(AskMonaUser user, int detail = 0)
		{
			return PostAuth<AccountBalanceResponse>("http://askmona.org/v1/account/balance", user, new Dictionary<string, string>
			{ 
				{"detail",detail.ToString()}
			});
		}
예제 #10
0
		/// <summary>
		/// MONA送金API
		/// 特定のユーザーにMONAを送金することができます。
		/// </summary>
		/// <param name="user">ユーザー認証オブジェクト。</param>
		/// <param name="to_u_id">送金したい相手のユーザーID。</param>
		/// <param name="amount">送金したいMONAの額。watanabe単位で指定してください(1MONAは100,000,000watanabeで、amountは整数値をとります)。たとえば、12MONAを送りたい場合は、amount='1200000000'となります。また、仕様により、一度に100万MONA以上の額は送れません。</param>
		/// <param name="anonymous">匿名で送金するかどうか。0を指定した場合、ユーザーIDとユーザー名を送金相手に知らせることができます。1を指定した場合、匿名で送金します。</param>
		/// <returns></returns>
		public SendAccountResponse SendAccountAccountToUser(AskMonaUser user, int to_u_id, decimal amount, int anonymous = 1)
		{
			return PostAuth<SendAccountResponse>(@"http://askmona.org/v1/account/send", user, new Dictionary<string, string>
			{
				{"to_u_id",to_u_id.ToString()},
				{"amount",amount.ToString("整数")},
				{"anonymous",anonymous.ToString()}
			});
		}
예제 #11
0
		/// <summary>
		/// お気に入り取得API
		/// お気に入りに登録したトピックの一覧を取得すことができます。
		/// </summary>
		/// <param name="user"></param>
		/// <param name="order">並べ替える条件。'added'はお気に入りに追加された時刻順、'updated'はトピックが更新された順で並べ替えられます。</param>
		/// <param name="limit">取得するお気に入りの個数。最大値は200です。</param>
		/// <param name="offset">取得するお気に入りのオフセット(取得開始位置)。最大値は200です。</param>
		/// <returns></returns>
		public TopicListResponse GetFavoriteTopicList(AskMonaUser user, FavoriteTopicOrder order = FavoriteTopicOrder.added, int limit = 200, int offset = 0)
		{
			return PostAuth<TopicListResponse>(@"http://askmona.org/v1/favorites/list", user, new Dictionary<string, string>
			{
				{"order",order.ToString()},
				{"limit", limit.ToString()},
				{"offset" , offset.ToString()}
			});
		}
예제 #12
0
		/// <summary>
		/// レス投稿API
		/// トピックに投稿することができます。
		/// </summary>
		/// <param name="user">ユーザー認証オブジェクト。</param>
		/// <param name="t_id">投稿するトピックの、トピックID。</param>
		/// <param name="text">レス本文。文字数は1024字以内、改行は15行以内という制約があります。</param>
		/// <returns></returns>
		public AskMonaResponse PostResponse(AskMonaUser user, int t_id, string text)
		{
			return PostAuth<AskMonaResponse>("http://askmona.org/v1/responses/post", user, new Dictionary<string, string>
			{ 
				{"t_id",t_id.ToString()},
				{"text",text}
			});
		}
예제 #13
0
 /// <summary>
 /// シークレットキー検証API
 /// 認証キーの作成に使うシークレットキーが有効か判断できます。有効かどうかは、すべての要認証APIのエラー情報から確かめられますので、通常は他のAPIを使用して検証してください。なお、有効でない場合は、要認証API利用チャートの手順2からやり直してください。
 /// </summary>
 /// <param name="user">ユーザー認証オブジェクト。</param>
 /// <returns></returns>
 public AskMonaResponse GetVerifyUser(AskMonaUser user)
 {
     return(PostAuth <AskMonaResponse>("http://askmona.org/v1/auth/verify", user, new Dictionary <string, string>()));
 }