Uri を使用して壁に画像を正常に投稿しましたが、drawable/assets フォルダーから画像を投稿したいのですが、これが私がやっていることです。
Session session = Session.getActiveSession();
if (session != null){
// Check for publish permissions
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS);
session.requestNewPublishPermissions(newPermissionsRequest);
return;
}
PackageManager m = MainTabActivity.this.getPackageManager();
String s = MainTabActivity.this.getPackageName();
Uri path = Uri.parse("android.resource://"+s+"/"+R.drawable.app_icon);
Bundle postParams = new Bundle();
postParams.putString("message", message+"\n\"App testing (no comments/likes)\"");
postParams.putString("picture", path.getPath());
Request.Callback callback= new Request.Callback() {
public void onCompleted(Response response) {
String postId = null;
try
{
JSONObject graphResponse = response.getGraphObject().getInnerJSONObject();
postId = graphResponse.getString("id");
} catch (JSONException e) {
Log.i(TAG,"JSON error "+ e.getMessage());
}
FacebookRequestError error = response.getError();
if (error != null)
Toast.makeText(getBaseContext(), error.getErrorMessage(),Toast.LENGTH_SHORT).show();
else
Toast.makeText(getBaseContext(), postId, Toast.LENGTH_LONG).show();
}
};
Request request = new Request(session, "me/feed", postParams, HttpMethod.POST, callback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
}
// これは、ドローアブル フォルダーからアイコンを取得しようとしている方法です Uri path = Uri.parse("android.resource://"+s+"/"+R.drawable.app_icon);
コールバックはこの結果を取得します{Response: responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 100, errorType: OAuthException, errorMessage: (#100) 画像の URL が適切にフォーマットされていません}, isFromCache:false}
私は何を間違っていますか??
前もって感謝します