Вопрос по java, facebook-android-sdk, facebook, facebook-graph-api – Facebook API / Android: публикация Wall Post с вложенным изображением не работает

1

У меня есть следующий код.

Он работает и публикует часть сообщения, но часть вложения не работает. Я подозреваю, что это связано с передачей JSON в виде строки.

Facebook возвращается"{"id":"23522646737635675"}, Так что это не ошибка.

<code>        Bundle params = new Bundle();

        params.putString("message", message);

        JSONObject attachment = new JSONObject();

        attachment.put("href", URLEncoder.encode("http://a.espncdn.com/photo/2010/0523/pg2_a_cricket_576.jpg"));
        attachment.put("name", "Cricket Fantasy");
        attachment.put("caption", "New team");
        attachment.put("description","Description about Application");

        JSONObject media = new JSONObject();

        media.put("type", "image");
        media.put("src", URLEncoder.encode("http://a.espncdn.com/photo/2010/0523/pg2_a_cricket_576.jpg"));
        media.put("href", URLEncoder.encode("http://a.espncdn.com/photo/2010/0523/pg2_a_cricket_576.jpg"));
        attachment.put("media", media);

        params.putString("attachement", attachment.toString());

        String response = mFacebook.request("me/feed", params, "POST");
</code>

Ваш Ответ

2   ответа
0
Bundle params = new Bundle();
                   // params.putString("multipart/form-data", imgurl);
                    params.putByteArray("multipart/form-data",byteArray);

                    params.putString("caption", txtcaption.getText().toString());
                    /* make the API call */
                    new GraphRequest(
                            AccessToken.getCurrentAccessToken(),
                            "/me/photos",
                            params,
                            HttpMethod.POST,
                            new GraphRequest.Callback() {
                                public void onCompleted(GraphResponse response) {
                                    /* handle the result */
                                    Log.e("responseImagedata---", response.toString());

                                }
                            }
                    ).executeAsync();
2

закодированные в формате JSON, на Facebook, это не работает. Каждый параметр должен быть включен в теле POST.

Кроме того, & quot; вложение & quot; путь старый и больше не используется. Это должно выглядеть примерно так:

Bundle params = new Bundle();

params.putString("message", message);
params.put("name", "Cricket Fantasy");
params.put("caption", "New team");
params.put("description","Description about Application");
params.put("url", URLEncoder.encode("http://a.espncdn.com/photo/2010/0523/pg2_a_cricket_576.jpg"));

String response = mFacebook.request("me/feed", params, "POST");

Официальную ссылку для загрузки изображений с использованием URL можно найти здесь:Загрузка фотографий в API Graph через URL. The parameters for posting to a feed can be found in the Пользовательский объект док.

Похожие вопросы