首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dwolla API注册错误

Dwolla API注册错误
EN

Stack Overflow用户
提问于 2012-12-16 00:36:57
回答 1查看 137关注 0票数 1

我正在尝试使用Dwolla API启动和运行,但是当我尝试注册一个新用户时,它返回一个500内部服务器错误,并且没有错误消息,这是令人沮丧的,因为它没有给我任何东西。

代码如下:

代码语言:javascript
复制
public static bool Register(ObjectId userId, User user, out string message) {
            var dwollaKey = ConfigurationManager.AppSettings["DwollaKey"].ToString();
            var dwollaSecret = ConfigurationManager.AppSettings["DwollaSecret"].ToString();

            //post register to dwolla api.
            var request = new DwollaRegisterRequest {
                client_id = dwollaKey,
                client_secret = dwollaSecret,
                email = user.DwollaEmailAddress,
                password = user.DwollaPassword,
                pin = user.DwollaPin,
                firstName = user.FirstName,
                lastName = user.LastName,
                address = user.Address,
                city = user.City,
                state = user.State,
                zip = user.ZipCode,
                type = "Personal",
                acceptTerms = "true"
            };
            var requestJson = JsonConvert.SerializeObject(request);
            var url = "https://www.dwolla.com/oauth/rest/register/";
            var responseJson = WebRequestHelper.PostString(url, requestJson);
            var response = JsonConvert.DeserializeObject<DwollaRegisterResult>(responseJson);
            message = response.Message;

            //if success, update user with dwolla info.
            if (response.Success) {
                //save user.
                var existingUser = UserService.Get(userId);
                existingUser.DwollaId = response.Response.Id;
                existingUser.DwollaEmailAddress = user.DwollaEmailAddress;
                existingUser.DwollaPassword = user.DwollaPassword;
                existingUser.DwollaPin = user.DwollaPin;
                existingUser.FirstName = user.FirstName;
                existingUser.LastName = user.LastName;
                existingUser.Address = user.Address;
                existingUser.City = user.City;
                existingUser.State = user.State;
                existingUser.ZipCode = user.ZipCode;
                UserService.Save(existingUser);
            }
            return response.Success;
        }

public static string PostString(string url, string requestBody) {
            using (WebClient client = new WebClient()) {
                return client.UploadString(url, "POST", requestBody);
            }
        }

我将请求作为JSON字符串发布,因为我在另一个线程中看到有人说这是API所期望的,但是我也尝试发布了一个NameValueCollection,但也是错误的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-16 01:57:08

我忘了将请求的Content-Type设置为application/json。

代码语言:javascript
复制
public static string PostString(string url, string requestBody) {
            using (WebClient client = new WebClient()) {
                client.Headers.Add("Content-Type", "application/json");
                return client.UploadString(url, "POST", requestBody);
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13894060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档