我们可以在Facebook上更改链接的图片(由android应用发布)

我们可以在Facebook上更改链接的图片(由android应用发布)

我通过我的应用程序在FaceBook上发布了一些链接,但是我希望在Facebook墙上显示其他图像

我的代码是这样的

Intent shareCaptionIntent = new Intent(Intent.ACTION_SEND); shareCaptionIntent.setType("image/png"); shareCaptionIntent.putExtra(Intent.EXTRA_STREAM, "<URL>"); //set caption shareCaptionIntent.putExtra(Intent.EXTRA_TEXT, "example caption"); shareCaptionIntent.putExtra(Intent.EXTRA_SUBJECT, "example caption"); startActivity(Intent.createChooser(shareCaptionIntent,getString(R.string.share))); 

我也可以看到Caption和描述。 如何更改图像并使其说明和标题可见,请查找附件图像 在这里输入图像说明

Solutions Collecting From Web of "我们可以在Facebook上更改链接的图片(由android应用发布)"

如果你只是做一个共享,你分享的链接被facebook分割(parsing),并抓取在你分享的目标url上定义的元标签。

具体到你的问题:

 <meta property="og:title" content="The Rock" /> <meta property="og:url" content="http://www.imdb.com/title/tt0117500/" /> <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" /> <meta property="og:description" content="A great movie with Sean Connery and Nicolas Cage" /> 

如果您有权更改这些元标记,那么您可以控制在Facebook上显示的post的图像,标题和描述。

有关参考,请参阅http://ogp.me/以及使用Facebookdebugging器http://developers.facebook.com/tools/debug来lint(parsing)您正在共享的url&#x3002;

如果你真的需要的话,你可以通过使用Android的Facebook SDK(更改所有张贴的东西)来做到这一点。 https://developers.facebook.com/docs/howtos/androidsdk/3.0/publish-to-feed/

要么

PublishFeedHowTo示例演示(L:150-L:154) https://github.com/fbsamples/android-3.0-howtos/blob/master/PublishFeedHowTo/src/com/facebook/samples/publishfeedhowto/MainFragment.java

不,您可以更改您在Facebook上发布的图片的链接。 当它将数据存储在数据库中时,Facebook自己产生这个链接。

  **Using this code you can share any image from your drawable folder** public void share() { Session.openActiveSession(this, true, new Session.StatusCallback() { // callback when session changes state @Override public void call(final Session session, SessionState state, Exception exception) { if (session.isOpened()) { if(!session.getPermissions().contains("publish_actions")) { session.requestNewPublishPermissions(new Session.NewPermissionsRequest(Aboutcampaign.this, PERMISSIONS)); } else { final String message="YOUR STRING MESSAGE"; // make request to the /me API /* Request request = Request .newStatusUpdateRequest(Session.getActiveSession(), message, new Request.Callback() { @Override public void onCompleted(Response response) { showPublishResult(message, response.getGraphObject(), response.getError()); } }); request.executeAsync();*/ Bitmap image = BitmapFactory.decodeResource(Aboutcampaign.this.getResources(), R.drawable.product_btn); // Bitmap BckGrnd = BitmapFactory.decodeFile(file); Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), image, new Request.Callback() { public void onCompleted(Response response) { showPublishResult("Shared on Facebook", response.getGraphObject(), response.getError()); } }); Bundle params = request.getParameters(); // Add the parameters you want, the caption in this case params.putString("name", message); // Update the request parameters request.setParameters(params); // Execute the request Request.executeBatchAsync(request); // request.executeAsync(); } } } });