我已经成功整合了twitter API,我可以从我的设备发布文字,但我想知道两件事
是否可以使用Android中的API在Twitter上发布图片?
在twitter中我们使用了OAuth.OAUTH_TOKEN
和OAuth.OAUTH_TOKEN_SECRET
标记。我在下面的代码中传递第二个参数的标记值是否可以?或者我必须把它留空?
String token = prefs.getString(OAuth.OAUTH_TOKEN, OAuth_token_key);
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, OAuth_token_secret);
我搜索了解post image on twitter using twitter API in Android
是否可能,但我没有找到任何我知道是否有可能的链接。
我为iPhone 和there is a answer also提供了一个类似的帖子图片问题。我不知道iPhone,所以我不知道天气是否正确答案。这是iPhone的贴图类似问题的链接
请帮我解决这个问题。
答案 0 :(得分:15)
是的您可以在Twitter上发布图片。
AIK,有两种方法可以将照片上传到Twitter。
使用 First ,您必须实施Twitter API并使用this Link将Photot上传到Twitter。
对不起这个例子。因为我不知道如何使用它。
使用 Second ,您可以借助twitPic4j API执行此操作。 只需添加twitPic4j的API并在下面写下代码即可上传照片。
代码:
File picture = new File(APP_FILE_PATH + "/"+filename+".jpg");
// Create TwitPic object and allocate TwitPicResponse object
TwitPic tpRequest = new TwitPic(TWITTER_NAME, TWITTER_PASSWORD);
TwitPicResponse tpResponse = null;
// Make request and handle exceptions
try {
tpResponse = tpRequest.uploadAndPost(picture, customMessageEditText.getText()+" http://www.twsbi.com/");
}
catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Please enter valid username and password.", Toast.LENGTH_SHORT).show();
}
catch (TwitPicException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Invalid username and password.", Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), "Please enter valid Username and Password.", Toast.LENGTH_SHORT).show();
}
// If we got a response back, print out response variables
if(tpResponse != null) {
tpResponse.dumpVars();
System.out.println(tpResponse.getStatus());
if(tpResponse.getStatus().equals("ok")){
Toast.makeText(getApplicationContext(), "Photo posted on Twitter.",Toast.LENGTH_SHORT).show();
//picture.delete();
}
}
以上代码适用于我的情况。
希望你得到第二个溶剂,我不知道如何使用第一个。
享受。 :)
<强>更新强>
如果仍然不适合您并尝试下面列出的项目:
希望能帮助你。
快乐编码。
<强> ================================== 强>
FOR erdomester和更新的答案
<强> ================================== 强>
请检查我给Example1及其api的第一个链接:Twitter4J 因此,如果任何库停止提供在Twitter上传图像的功能,您可以使用其他库。请检查并阅读重新分类Twitter4j。
检查Twitter4J API以将文件上传到Twitter:Twitter4j Image Upload
例如帮助您还可以检查以下代码以在Twitter上传图像文件。
上传图片的代码:
/**
* To upload a picture with some piece of text.
*
*
* @param file The file which we want to share with our tweet
* @param message Message to display with picture
* @param twitter Instance of authorized Twitter class
* @throws Exception exception if any
*/
public void uploadPic(File file, String message,Twitter twitter) throws Exception {
try{
StatusUpdate status = new StatusUpdate(message);
status.setMedia(file);
twitter.updateStatus(status);}
catch(TwitterException e){
Log.d("TAG", "Pic Upload error" + e.getErrorMessage());
throw e;
}
}
我希望这可以为您的查询提供更多帮助。
感谢 eredomester 通知我,tweetpic不再适用于Twitter。但请不要做downvote回答,直到你没有完全搜索给定的答复。鉴于图1中的示例库中的Twitter4J给出了关于将图像上传到twitter的明确想法,您可以轻松实现它。
如需更多帮助和代码,您还可以查看:Twitter Upload media
注意:要使用此功能,请确保您拥有最新的jar文件。我已经使用twitter4j-core-2.2.5.jar或更多。
如果你遇到任何问题,请评论我,而不是低估这个答案。
答案 1 :(得分:2)
是否可以在Android上使用API在Twitter上发布图片?
是的,您可以使用Twitter Media Uplload成功验证后将图像上传到Twitter。
在twitter中,我们使用了OAuth.OAUTH_TOKEN和OAuth.OAUTH_TOKEN_SECRET tokens.I在下面的代码中传递第二个参数的标记值就是它 好 ?或者我必须把它留空?
你应该添加令牌和令牌密钥,它对于你必须发送令牌和令牌秘密的Tiwtter的setTokenWithSecret
方法非常有用..
答案 2 :(得分:1)
是的,您可以使用Twitter api(如twitter4j)在Twitter上发布图片,但我建议您使用HttpPost类和DefaultHttpClient类,因为它在实践中很好,而且您不需要添加任何外部的Twitter API。