我想要的是从Android应用程序发布一个状态,该状态包含一个图像,一些人在其中标记。当我发布状态时,只有标记的人或只有照片的人才能正常工作。当我添加带有标签的照片然后将其发布在fb上时出现问题,我的个人资料没有显示任何内容。
btn_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (String s : user_friends_id) {
ids += s + ",";
}
if (etxt_status.getText().toString().equals("")) {
Toast.makeText(FacebookStatusUpdate.this, "Status is Empty", Toast.LENGTH_SHORT).show();
} else /*if (bitmapdata != null)*/ {
btn_submit.setVisibility(View.GONE);
user_status = etxt_status.getText().toString();
Bundle params = new Bundle();
params.putString("caption", etxt_status.getText().toString());
params.putString("place", user_loc_id);
params.putString("tags", ids);
params.putByteArray("picture", bitmapdata);
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + user_fb_id + "/photos",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
//new getPlaceId().execute();
JSONObject o = response.getJSONObject();
try {
user_status_id = o.getString("id");
} catch (Exception ex) {
} finally {
new insertCheckinDetails().execute();
}
Toast.makeText(FacebookStatusUpdate.this, "Status Updated", Toast.LENGTH_SHORT).show();
}
}
).executeAsync();
}
}
});
url_paging = new ArrayList<>();
friends = new ArrayList<>();
fb_name = new ArrayList<>();
fb_id = new ArrayList<>();
fb_images = new ArrayList<>();
ls_json_obj = new ArrayList<>();
new abc().execute();
}
使用此链接Graph API Photo但无效。
答案 0 :(得分:0)
您的代码工作正常,可以在没有好友标签的情况下在Facebook上传图片,用您的图片标记好友,您必须进行以下更改。取代
for (String s : user_friends_id) {
ids += s + ",";
}
和
params.putString("tags", ids);
用
String tagFriendListId="";
for(int i=0;i<user_friends_id.size();i++)
{
tagFriendListId = tagFriendListId+" {'tag_uid':'"+user_friends_id.get(i)+"'} ,";
}
tagFriendListId=tagFriendListId.substring(0, tagFriendListId.length()-1);
和
params.putString("tags","["+tagFriendListId+"]");