1

次のコードを使用して、Androidアプリケーションのtumblrにテキストを投稿しています。

public class Snippet {
    HttpPost hpost = new HttpPost("http://api.tumblr.com/v2/blog/" + blogname.getText().toString() + ".tumblr.com/post");
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("type", "text"));
    nameValuePairs.add(new BasicNameValuePair("title", title));
    nameValuePairs.add(new BasicNameValuePair("body", body));
    try 
    {
        hpost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    }
    catch (UnsupportedEncodingException e) 
    {
        debug += e.toString();
    }
    consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
    consumer.setTokenWithSecret(token, secret);
    try 
    {
        consumer.sign(hpost);
    } catch (OAuthMessageSignerException e) 
    {
        debug += e.toString();
    } catch (OAuthExpectationFailedException e) 
    {
        debug += e.toString();
    } catch (OAuthCommunicationException e) 
    {
        debug += e.toString();
    }
    DefaultHttpClient client = new DefaultHttpClient();
    HttpResponse resp = null;
    try 
    {
        resp = client.execute(hpost);
    } catch (ClientProtocolException e) 
    {
        debug += e.toString();
    } catch (IOException e) 
    {
        debug += e.toString();
    }
    String result = null;
    try {
        result = EntityUtils.toString(resp.getEntity());
    } catch (ParseException e) 
    {
        debug += e.toString();
    } catch (IOException e) 
    {
        debug += e.toString();
    }
}

次に、次の結果が得られます。

{"meta":{"status":401,"msg":"Not Authorized"},"response":[]}

私は何かを逃しましたか?私は正しいアクセストークンと秘密鍵を持っています。

4

3 に答える 3

0

最初にtumblrでブログを作成する必要があります。そうすれば、そのブログに投稿できるようになります。手動でブログを作成してから、そのブログに投稿する必要があります。

于 2012-12-28T08:03:11.847 に答える
0

タイトル、本文、またはブログ名を確認してください。null の場合は応答が 401 になります。

于 2012-12-18T14:11:20.120 に答える
0
HttpPost hpost = new HttpPost("http://api.tumblr.com/v2/blog/" + blogname.getText().toString() + ".tumblr.com/post");

.tumblr.com/postで置き換えます.tumblr.com/posts

于 2013-05-02T12:46:52.747 に答える