0

我在使用 android 中的 Facebook API 标记图片中的朋友时遇到问题。这就是我目前所拥有的

Bundle param;

    Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.picture);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
    byte[] data = stream.toByteArray();

    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
    InputStream is = null;
    param = new Bundle();
    param.putString("message", dataMsg);
    param.putString("filename", "Invite");
    String[] numArr = invitedNum.toArray(new String[invitedNum.size()]); 
    param.putStringArray("message_tags",numArr);
    param.putByteArray("picture", data);
    mAsyncRunner.request("me/photos", param, "POST", new SampleUploadListener(), null);

    Toast.makeText(context, "Picture posted to Facebok.", Toast.LENGTH_SHORT).show();

这会上传图片并在其上设置一条消息,但不会标记图片中的任何人。任何想法都会非常有帮助。

4

1 回答 1

2

要标记用户,您需要遵循此处列出的方法:

https://developers.facebook.com/docs/reference/api/photo/#tags

所以你会:

1/ 上传照片

2/ 获取照片ID(上传成功应该返回)

3/ 调用这个 Graph API 端点:

PHOTO_ID/tags 

并在 tags 参数中传入 FB ID:

 tags=[{"id":"1234"}, {"id":"12345"}]. 
于 2012-12-19T21:17:29.423 回答