Reputation: 1047
I'm doing one application, In that application i want to post message to facebook wall without open dialogbox.
My complete facebook wall post code:
Facebook mFacebook = new Facebook("xxxxxxxxxxxxxxxx");//MY APP ID
Log.d("Tests", "Testing graph API wall post");
try {
String response = mFacebook.request("xxxxxxx");//USER ID
Bundle parameters = new Bundle();
parameters.putString("message", "hi hi hi");
parameters.putString("description", "test test test");
response = mFacebook.request("xxxxxxxx/feed", parameters,"POST");
if (response == null || response.equals("") ||
response.equals("false")) {
Log.v("Error", "Blank response");
}
} catch(Exception e) {
e.printStackTrace();
}
This code showing error,
logcat error:
10-27 23:19:53.369: WARN/System.err(9330): java.net.MalformedURLException: Protocol not found: me?format=json
10-27 23:19:53.369: WARN/System.err(9330): at java.net.URL.<init>(URL.java:273)
10-27 23:19:53.369: WARN/System.err(9330): at java.net.URL.<init>(URL.java:157)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.Facebook.Util.openUrl(Util.java:151)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.Facebook.Facebook.request(Facebook.java:564)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.Facebook.Facebook.request(Facebook.java:500)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.birthdayreminder.DetailsPage.PostMessageToWall(DetailsPage.java:202)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.birthdayreminder.DetailsPage.access$1(DetailsPage.java:197)
10-27 23:19:53.369: WARN/System.err(9330): at com.whitehorse.birthdayreminder.DetailsPage$3.onClick(DetailsPage.java:149)
10-27 23:19:53.369: WARN/System.err(9330): at android.view.View.performClick(View.java:2485)
10-27 23:19:53.369: WARN/System.err(9330): at android.view.View$PerformClick.run(View.java:9080)
10-27 23:19:53.369: WARN/System.err(9330): at android.os.Handler.handleCallback(Handler.java:587)
10-27 23:19:53.369: WARN/System.err(9330): at android.os.Handler.dispatchMessage(Handler.java:92)
10-27 23:19:53.369: WARN/System.err(9330): at android.os.Looper.loop(Looper.java:130)
10-27 23:19:53.369: WARN/System.err(9330): at android.app.ActivityThread.main(ActivityThread.java:3687)
10-27 23:19:53.369: WARN/System.err(9330): at java.lang.reflect.Method.invokeNative(Native Method)
10-27 23:19:53.369: WARN/System.err(9330): at java.lang.reflect.Method.invoke(Method.java:507)
10-27 23:19:53.379: WARN/System.err(9330): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
10-27 23:19:53.379: WARN/System.err(9330): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
10-27 23:19:53.379: WARN/System.err(9330): at dalvik.system.NativeStart.main(Native Method)
Please give some advice about facebook SDK,
Thanks,
Upvotes: 0
Views: 1986
Reputation: 596
Facebook facebook = new Facebook(APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
Bundle params = new Bundle();
params.putString("message", Message);
String resp= "";
try {
resp = mAsyncRunner.request("me/feed", params, "POST");
/*
There are not only one request function in the SDK.(with different parameter)
Try the read the source code in the SDK.
There are brief remarks on each function and parameters.
You can post wall with above request function and get the postID with the following code.
*/
} catch (FileNotFoundException e) {
} catch (MalformedURLException e) {
} catch (IOException e) {
}
try{
resp = new JSONObject(resp).getString("id");//POST ID Here
}catch(JSONException e1){
}
};
Upvotes: 1
Reputation: 4928
This is the code I used for my app to post a message to the Facebook wall without a dialog:
Facebook facebook = new Facebook(MY_APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
params.putString("caption", "My Caption");
params.putString("description", "description here");
params.putString("picture", "http://nyan-cat.com/images/nyan-cat.gif");
params.putString("name", "name string");
params.putString("message", "my message here");
mAsyncRunner.request("me/feed", params, "POST", new RequestListener() {
@Override
public void onFacebookError(FacebookError e, final Object state) {
Log.e("Facebook", e.getMessage());
e.printStackTrace();
}
@Override
public void onFileNotFoundException(FileNotFoundException e, final Object state) {
Log.e("Facebook", e.getMessage());
e.printStackTrace();
}
@Override
public void onIOException(IOException e, final Object state) {
Log.e("Facebook", e.getMessage());
e.printStackTrace();
}
@Override
public void onMalformedURLException(MalformedURLException e, final Object state) {
Log.e("Facebook", e.getMessage());
e.printStackTrace();
}
}
Upvotes: 2