9

我们可以在 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)));

我也可以看到标题和描述。如何更改图像并使描述和标题可见,请查找附件图像在此处输入图像描述

4

4 回答 4

4

如果您只是在分享,您分享的链接会被 Facebook 整理(解析),并获取在您分享的目标 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 上显示的帖子的图像、标题和描述。

作为参考,请参阅http://ogp.me/以及使用 Facebook 调试器http://developers.facebook.com/tools/debug对您共享的 URL 进行 lint(解析)。

于 2013-07-18T03:52:09.773 回答
2

如果您真的需要,您可以使用 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

于 2013-07-16T10:03:02.140 回答
1
        **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();

                }
            }
          }
        });
于 2013-07-23T05:45:48.543 回答
1

不,您可以更改您在 Facebook 上发布的图片的链接。Facebook 在将数据存储在数据库中时会自行生成此链接。

于 2013-07-13T20:46:57.603 回答