3

我正在尝试使用我的应用程序中的登录表单和提交按钮登录网站。我已获得以下 api 信息:

该 API 已在 consumer.api.mobodev.terryinc.com上设置

使用这个 api 我正在尝试使用用户名登录。已为 api 调用提供以下信息:

使用用户名登录 使用用户名登录服务是为现有消费者提供使用他们的用户名和密码登录的。用户名将是电子邮件地址或手机号码,具体取决于消费者最初的注册方式。当登录到第二个或后续设备时,或通过浏览器等登录时,通常会使用用户名登录。这是因为在正常流程中,消费者将注册并且访问令牌将被客户端应用程序返回并缓存。然后在启动应用程序时使用访问令牌,而不是让消费者再次登录。使用用户名调用登录会将消费者登录到系统中,并创建并返回一个有效的 OAuth 访问令牌。然后可以将返回的 OAuth 访问令牌用于后续 API 调用,以识别客户端应用程序的使用者。属性 属性值

  • 路径 /v3/logins 支持
  • 格式 JSON, XML HTTP
  • 方法 POST
  • 安全无
  • 利率有限
  • 无缓存
  • 超时 TBC -HTTP 代码 200 - OK 400 - 错误请求。
    500内部服务器错误。

以下是我在主要活动中编写的代码:

 HttpClient httpclient = new DefaultHttpClient();

**HttpPost httppost = new HttpPost("consumer.api.mobodev.terryinc.com");**


    try {
        // Add user name and password
     EditText uname = (EditText)findViewById(R.id.username);
     String username = uname.getText().toString();

     EditText pword = (EditText)findViewById(R.id.password);
     String password = pword.getText().toString();

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
        nameValuePairs.add(new BasicNameValuePair("grant_type","password"));
        nameValuePairs.add(new BasicNameValuePair("username", username));
        nameValuePairs.add(new BasicNameValuePair("password", password));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        Log.w("Post", "Execute HTTP Post Request");
        HttpResponse response = httpclient.execute(httppost);

        String str = inputStreamToString(response.getEntity().getContent()).toString();
        Log.w("Before Post", str.toString());

我的问题是我在创建 httpPost 对象时是否使用了正确的 url?

请帮忙,因为我不知道如何解释 api 文档。

4

1 回答 1

1

在 Firefox 中,我使用这个很棒的插件来模拟和测试 API 调用 - 它被称为Rest Client,我建议您在编写任何代码之前先在这里测试 api。

于 2012-07-02T05:36:05.887 回答