问题
I am having some trouble while trying to share content from my app into Facebook. I am using the following code to do it:
facebookButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ShareDialog.canShow(ShareLinkContent.class)){
ShareLinkContent linkContent=new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(imageUrls.get(0)))
.build();
shareDialog.show(linkContent, ShareDialog.Mode.WEB);
}
}
});
My images are stored on Firebase Storage and I am able to post on Facebook as well but the title and description are both set to firebasestorage.googleapis.com like this linked image: screenshot of share post
Note : The setContentDescription() and setContentTitle() and setImageUrl() are all deprecated. Is there a way to set the title,and description of the shared post?
回答1:
FadyDev, I don't know if you've already resolved your problem but this is what I do in place of deprecated codes:
// Builds the object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("fb:app_id", my_app_ID)
.putString("og:url", link_to_site)
.putString("og:type", objectType)
.putString("og:title", contentTitle)
.putString("og:description", contentDescription)
.putString("og:image", imageLink)
.build();
// Builds the action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType(actionName)
.putObject(objectName, object)
.build();
// Create the openGraphContent
ShareOpenGraphContent openGraphContent = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName(objectName)
.setAction(action)
.build();
return openGraphContent;
Look in the facebook doc for what action you want to use and there corresponding object type and required parameters.
https://developers.facebook.com/docs/sharing/opengraph/using-actions https://developers.facebook.com/docs/reference/opengraph
Hope this helps!
来源:https://stackoverflow.com/questions/45740489/sharing-on-facebook-from-android-using-setcontenturl