private void shareOnFB() { // Create an object Set<String> permissions = AccessToken.getCurrentAccessToken().getPermissions(); if (!permissions.contains("publish_actions")) { LoginManager.getInstance() .registerCallback( callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { if (AccessToken.getCurrentAccessToken() .getPermissions() .contains("publish_actions")) { shareOnFB(); } } @Override public void onCancel() {} @Override public void onError(FacebookException e) {} }); LoginManager.getInstance() .logInWithPublishPermissions(PaymentActivity.this, Arrays.asList("publish_actions")); } else { String dateString = ""; String dateString2 = ""; try { Date date = new Date(mEventData.getSchedule().getStart_date()); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.ENGLISH); dateString = sdf2.format(date); date.setTime(mEventData.getSchedule().getEnd_date()); dateString2 = sdf2.format(date); } catch (Exception e) { e.printStackTrace(); Crashlytics.logException(e); } String url = "http://purplesq.com/event/" + mEventData.get_id(); ShareOpenGraphObject eventObject = new ShareOpenGraphObject.Builder() .putString("fb:app_id", "852292264845107") .putString("og:type", "purplesquirrel:event") .putString("og:title", mEventData.getName()) .putString("og:description", mEventData.getSummary()) .putString("og:url", url) .putString("og:image", mEventData.getThumbnail()) .build(); ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() .setActionType("purplesquirrel:attend") .putString("start_time", dateString) .putString("expires_time", dateString2) .putObject("event", eventObject) .build(); ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() .setPreviewPropertyName("event") .setAction(action) .build(); if (ShareDialog.canShow(ShareOpenGraphContent.class)) { ShareDialog shareDialog = new ShareDialog(this); shareDialog.registerCallback( callbackManager, new FacebookCallback<Result>() { @Override public void onSuccess(Result result) { if (!TextUtils.isEmpty(result.getPostId())) { if (Config.DEBUG) { Log.i("Nish", "FB Share Success : " + result.getPostId()); } findViewById(R.id.activity_payment_coupon_cardview).setVisibility(View.GONE); } else { if (Config.DEBUG) { Log.i("Nish", "FB Share Success without postId "); } } } @Override public void onCancel() {} @Override public void onError(FacebookException e) {} }); shareDialog.show(content); } } }