发布消息,照片中的Facebook与Android,并得到错误:发生未知错误 [英] Post message with photo in facebook with android and got error: An unknown error has occurred
问题描述
我想发布的照片和消息到用户的墙。我的code如下公布。
I am trying to post a photo and a message to a user's wall. My code is posted below.
在我刚才发布消息,它被成功发布。但是,当我发布的信息与图片,我碰到一个未知的错误。
When I post just the message, it is successfully posted. But when I post message with a picture I get an Unknown error.
在上按钮的用户preSS比低于code将执行:
When user press on Button than below code will be execute:
mFacebook.authorize(MainActivity.this, new String[] { "user_about_me", "email","publish_stream", "read_stream", "offline_access" }, new TestLoginListener());
public class TestLoginListener implements DialogListener {
public void onComplete(Bundle values) {
try {
{
Bundle parameters = new Bundle();
parameters.putString("message", "Test\n");
String path=Environment.getExternalStorageDirectory()+"/Diegodeals/";
if(!new File(path).exists()) new File(path).mkdirs();
File photo = new File(path, "diegodeals.jpg");
if(photo!=null){
System.out.println(Uri.fromFile(photo).toString());
parameters.putString("picture", Uri.fromFile(photo).toString());
}
String response = mFacebook.request("me/feed", parameters, "POST");
JSONObject json;
try
{
json = Util.parseJson(response);
if (!json.isNull("id"))
{
Toast.makeText(MainActivity.this, "SUCCESSED ssssssss", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(MainActivity.this, "fail", Toast.LENGTH_LONG).show();
}
} catch (FacebookError e)
{
e.printStackTrace();
}
new FBLongOpertaion().execute("");
}
/*String resID = mFacebook.request("me");
JSONObject objId = Util.parseJson(response);*/
} catch (Exception e) {
e.printStackTrace();
}
}
public void onCancel() {
}
public void onError(DialogError e) {
e.printStackTrace();
}
public void onFacebookError(FacebookError e) {
e.printStackTrace();
}
}
我喜欢的未知的错误检测到错误的。我的logcat值为
I got an error like UnKnown Error Detected. My Logcat value is
09-06 10:50:42.210: W/System.err(352): com.facebook.android.FacebookError: An unknown error has occurred.
09-06 10:50:42.240: W/System.err(352): at com.facebook.android.Util.parseJson(Util.java:279)
09-06 10:50:42.240: W/System.err(352): at com.eheuristics.android.diegodeals.MainActivity$TestLoginListener.onComplete(MainActivity.java:146)
09-06 10:50:42.240: W/System.err(352): at com.facebook.android.Facebook$1.onComplete(Facebook.java:354)
09-06 10:50:42.240: W/System.err(352): at com.facebook.android.FbDialog$FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java:145)
09-06 10:50:42.240: W/System.err(352): at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:216)
9-06 10:50:42.240: W/System.err(352): at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:323)
09-06 10:50:42.240: W/System.err(352): at android.os.Handler.dispatchMessage(Handler.java:99)
09-06 10:50:42.240: W/System.err(352): at android.os.Looper.loop(Looper.java:130)
09-06 10:50:42.240: W/System.err(352): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-06 10:50:42.251: W/System.err(352): at java.lang.reflect.Method.invokeNative(Native Method)
09-06 10:50:42.251: W/System.err(352): at java.lang.reflect.Method.invoke(Method.java:507)
09-06 10:50:42.251: W/System.err(352): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-06 10:50:42.251: W/System.err(352): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
十月九号至6日:50:42.251:W / System.err的(352):在dalvik.system.NativeStart.main(本机方法)
09-06 10:50:42.251: W/System.err(352): at dalvik.system.NativeStart.main(Native Method)
推荐答案
使用这条线在code:parameters.putString(access_token,+ ST);
Use this line in your code : parameters.putString("access_token", "" + st);
facebook1 = new Facebook(APP_ID);
String st = get_token__(con);
Bundle parameters = new Bundle();
parameters.putString("message", message);
parameters.putString("description", "topic share");
parameters.putString("access_token", "" + st);
facebook1.request("me");
String response = facebook1.request("me/feed", parameters, "POST");
Log.d("Tests--->*************", "got response: " + response);
试试这个,它可以帮助你。
try this it may help you.
编辑答案
下载$ C $从这里C:的 clickme
download code from here : clickme
变化APP_ID在code。
change APP_ID in that code.
下面的方法改变share_text.java活动
change below method in share_text.java Activity
public static void postToWall(String message, Context con) {
facebook1 = new Facebook(APP_ID);
String st = get_token__(con);
Bundle parameters = new Bundle();
parameters.putString("caption", "I Like DJ Call Manager!" + "\n\n"
+ "https://www.facebook.com/DjCallManager");
parameters.putString("url",
"http://www.mspy.com/blog/wp-content/uploads/2012/04/1327425781_1.jpeg");
if (st.length() > 0) {
parameters.putString("access_token", "" + st);
}
try {
String response = facebook1
.request("me/photos", parameters, "POST");
Log.d("Tests--->*************", "got response: " + response);
if (response == null
|| response.equals("")
|| response.equals("false")
|| response
.equalsIgnoreCase("{\"error\":{\"message\":\"An active access token must be used to query information about the current user.\",\"type\":\"OAuthException\",\"code\":2500}}")) {
showToast("Blank response. please loginf again in facebook",
con);
clear_fb_data(con);
} else {
showToast("Message posted to your facebook wall!", con);
}
} catch (Exception e) {
showToast("Failed to post to wall!", con);
e.printStackTrace();
}
}
我用的URL分享照片只是改变该行共享文件code。
i used URL to share photo just change that line to share file code.
这篇关于发布消息,照片中的Facebook与Android,并得到错误:发生未知错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!