rit*_*tta 4 java android oauth-2.0 twitter-oauth
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent in=getIntent();
Uri uri=in.getData();
// l.setText(uri.toString());
String p=uri.getQueryParameter(OAuth.OAUTH_VERIFIER);
CreateFolderActivity.m_provider.setOAuth10a(true);
try {
CreateFolderActivity.m_provider.retrieveAccessToken(p);
} catch (OAuthMessageSignerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthNotAuthorizedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthExpectationFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthCommunicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
URL url = null;
try {
url = new URL("http://api.mendeley.com/oapi/library/folders?consumer_key=" + CreateFolderActivity.m_consumer_key);
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpURLConnection hc=null;
try {
hc=(HttpURLConnection)url.openConnection();
try {CreateFolderActivity.m_consumer.sign(hc);
hc.setRequestMethod("POST");
hc.setDoInput(true);
hc.setDoOutput(true);
hc.setUseCaches(false);
hc.setRequestProperty("Content-type","text/json; charset=utf-8");
OutputStreamWriter wr = new OutputStreamWriter(hc.getOutputStream());
wr.write("folder = {'name' : 'Test creation folder'}");
wr.flush();
// Get the response
/* BufferedReader rd = new BufferedReader(new InputStreamReader(hc.getInputStream()));
String strResponse = null;
for (String strLine = ""; strLine != null; strLine = rd.readLine())
strResponse += strLine ;*/
Log.i("HelloWorld",hc.getResponseMessage()+" "+hc.getResponseCode());
} catch (OAuthMessageSignerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthExpectationFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}`
Run Code Online (Sandbox Code Playgroud)
嗨我想尝试使用post方法发送一个json对象上面是代码,但我得到内部服务器错误500.i读取它出现时,你发送一些意外数据.实际上它是一个OAuth实现,我必须在中添加一个文件夹用户帐户.我成功检索访问令牌.请指出代码中有什么问题
"folder = {'name' : 'Test creation folder'}"是无效的JSON.JSON Strings必须用双引号(")括起来.我想你的意思是:
{
"folder": {
"name": "Test creation folder"
}
}
Run Code Online (Sandbox Code Playgroud)
正确的JSON mime类型是application/json.
不要手动构建您的JSON.使用org.json包.首先看看JSONObject和JSONArray.
例:
hc.setRequestProperty("content-type","application/json; charset=utf-8");
OutputStreamWriter wr = new OutputStreamWriter(hc.getOutputStream());
JSONObject data = new JSONObject().put("folder",
new JSONObject().put("name", "test creation folder"));
wr.write(data.toString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17028 次 |
| 最近记录: |