Androidアプリでユーザーが作成した画像をFacebookのアプリケーションウォールに公開しようとしています。ユーザーの壁に画像を公開する方法はすでに知っています。
phpでそれを行う方法のこのチュートリアルを見つけました:http:
//jorgealbaladejo.com/2011/06/13/publish-to-facebook-page-or-applications-wall-with-php/
しかし、 page_idを取得する方法や、Android用のFacebookSDKを使用して取得する方法がわかりません。
編集
Facebookの壁に投稿するための私のコードは次のとおりです。
public void postImageonWall(String path) {
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(path);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
Facebook facebook = ((MainActivity) appcontext).getFacebook();
Log.d("Facebook-PostImage","facebook: " + facebook);
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, facebook.getAccessToken());
params.putString("method", "photos.upload");
params.putString("message", "Message Text");
params.putString("link","ANDROID_MARKET_LINK"); //or any other link
params.putString("name", "APP/GAME NAME");
params.putByteArray("picture", data);
Log.d("Facebook-PostImage","AsyncRunner going to be called");
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new RequestListener() {
public void onComplete(final String response, final Object state) {
try {
// process the response here: (executed in background thread)
Log.d("Facebook-Example", "Response: " + response.toString());
JSONObject json = Util.parseJson(response);
final String src = json.getString("src");
// then post the processed result back to the UI thread
// if we do not do this, an runtime exception will be generated
// e.g. "CalledFromWrongThreadException: Only the original
// thread that created a view hierarchy can touch its views."
} catch (JSONException e) {
Log.w("Facebook-Example", "JSON Error in response");
} catch (FacebookError e) {
Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
}
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
}, null);
}