2011-08-10 17 views
0

私は、モバイルアプリケーションの開発に新たなんです。私はユーザーのタイムラインからつぶやきを読むブラックベリーアプリケーションを開発しています。これまではOAuthアクセストークンを取得していました。このアクセストークンを使ってつぶやきを読み込もうとすると、 "Unauthorized"というメッセージが表示された401の応答が表示されるときに問題が発生します。私は自分ですべてをやっているライブラリを使っていません。誰も私にこれを手伝ってもらえますか?しかしちょうどノート、私はOAuthのでは専門家ではない401応答読んツイートは

  HttpConnectionFactory factory = new HttpConnectionFactory(url, 
       HttpConnectionFactory.TRANSPORT_WIFI | 
       HttpConnectionFactory.TRANSPORT_WAP2 | 
       HttpConnectionFactory.TRANSPORT_BIS | 
       HttpConnectionFactory.TRANSPORT_BES | 
       HttpConnectionFactory.TRANSPORT_DIRECT_TCP); 

     httpConn = factory.getNextConnection(); 
     httpConn.setRequestMethod(HttpProtocolConstants.HTTP_METHOD_GET); 
     httpConn.setRequestProperty("WWW-Authenticate","OAuth realm=http://twitter.com/"); 
     httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
     httpConn.setRequestProperty("Content-Length", Integer.toString(header.getBytes().length)); 
     os = httpConn.openOutputStream(); 

     os.write(header.getBytes()); 
     os.close(); 
     os = null; 


     input = httpConn.openDataInputStream(); 
     int resp = httpConn.getResponseCode(); 

    // Dialog.alert(httpConn.getDate()+" : "+System.currentTimeMillis()); 


     if (resp == HttpConnection.HTTP_OK) { 

      XMLReader parser; 
      try { 
       parser = XMLReaderFactory.createXMLReader(); 
       parser.setContentHandler(this); 
       parser.parse(new InputSource(input)); 
       for(int i=0 ; i<2 ; i++) 
       { 
        tweets.addElement(parser.getProperty("text").toString()); 
        Dialog.alert(parser.getProperty("text").toString()); 
       } 

      } catch (SAXException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

      Dialog.alert("your tweet was posted successfully :)"); 
     } 
     Dialog.alert(httpConn.getResponseCode()+": "+httpConn.getResponseMessage()); 
     return (httpConn.getResponseCode()+": "+httpConn.getResponseMessage()); 
    } catch (IOException e) { 
     return "exception"; 
    } catch (NoMoreTransportsException nc) { 
     return "noConnection"; 
    } finally { 
     try { 
      httpConn.close(); 
      input.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
+0

コードを投稿してください。 – Jacob

+0

私はコードを添付 – Alia

+0

あなたはlibを使ってみませんか?あなたの作業を大幅に簡素化します。私はこのアプリを私のBBアプリhttp://twitter4j.org/en/index.html – 8vius

答えて

0

この:

httpConn.setRequestMethod(HttpProtocolConstants.HTTP_METHOD_GET); 

をし、この

おかげで、ここで

コードです:

httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 

は相互排他的なものです。サーバーにデータをポストしているので、POST(GETではなく)でなければなりません。

関連する問題