Intereting Posts
C2DM: Как использовать разрешение C2D_MESSAGE? Сервис недоступен в geoCoder Сбой на устройствах Samsung для EditText, содержащих ссылки Android – Как получить список всех доступных фильтров намерений? Как мы можем удалить файл из папки с ресурсами во время выполнения в android? Android-кодировка Android по умолчанию при отправке http post / put – Проблемы со специальными символами IOException при чтении из InputStream Есть ли способ отключить / отредактировать затухание, которое имеет вид списка по краям? Можно ли выбрать TextView и содержать ссылки? Используйте URI-конструктор в Android или создайте URL-адрес с переменными Камера PhoneGap перезапускает приложение Android: сохраните MediaPlayer во время обновления ориентации экрана Activity Ошибка Android при получении информации с сервера «RPC: s-5: AEC-0» в Google Play? Android Espresso: не удается разрешить символ AndroidJUnit4.class Android DialogFragment onViewCreated не вызывается

Поделиться ссылкой и текстом с Android Facebook SDK 3.0

Я пытаюсь перейти на Facebook SDK 3.0 и, наконец, получил все, чтобы работать с Request.newStatusUpdateRequest (). Однако мое приложение разделяет / публикует текст вместе со ссылкой. Я попытался / рассмотрел следующее:

Request.newStatusUpdateRequest() 

Кажется, у этого нет никаких вариантов для Bundle или любого другого способа включить ссылку и значок.

 Request.newRestRequest() 

Пропустил это, потому что я видел, что REST обесценивается.

 new WebDialog.FeedDialogBuilder(_activity, session, params).build().show(); 

Это действительно работает очень хорошо, но результат, похоже, не связан с моим Facebook-приложением, и я не уверен, как это повлияет на мои идеи в Facebook.

 Request.newPostRequest() 

Из того, что я прочитал, этот метод кажется правильным. Тем не менее, я не могу понять, где можно передать GraphObject в качестве одного из параметров.

Каков способ PROPPER опубликовать / поделиться текстом, ссылкой и изображением на стене пользователя? Кажется, это Request.newPostRequest (), поэтому я буду включать код, который у меня есть для этого.

 Request request = Request.newPostRequest(session, "me/feed", ??graph_object??, new Request.Callback() { @Override public void onCompleted(Response response) { showPublishResult("message", response.getGraphObject(), response.getError()); } }); request.setParameters(params); Request.executeBatchAsync(request); 

Но что же такое GraphObject? Где я могу получить graph_object? Чем больше я читаю из FB в GraphObject / OpenGraph / Graph API, тем больше смущаюсь.

Если я полностью направляюсь в неправильном направлении, скажите, пожалуйста. Если Request.newPostRequest является способом propper этого, пожалуйста, дайте мне дополнительную информацию о параметре GraphObject.

Solutions Collecting From Web of "Поделиться ссылкой и текстом с Android Facebook SDK 3.0"

Наконец удалось получить все, что мне нужно, с помощью SDK 3.0 в Facebook, используя следующее:

 Bundle params = new Bundle(); params.putString("caption", "caption"); params.putString("message", "message"); params.putString("link", "link_url"); params.putString("picture", "picture_url"); Request request = new Request(Session.getActiveSession(), "me/feed", params, HttpMethod.POST); request.setCallback(new Request.Callback() { @Override public void onCompleted(Response response) { if (response.getError() == null) { // Tell the user success! } } }); request.executeAsync(); 

Я использовал этот метод. Посмотрите, поможет ли это или нет.

 public static void publishFeedDialog(final Activity current, final String title, final String caption, final String description, final String link, final String pictureUrl) { // start Facebook Login Session.openActiveSession(current, true, new Session.StatusCallback() { // callback when session changes state @Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { Bundle params = new Bundle(); params.putString("name", title); params.putString("caption", caption); params.putString("description", description); params.putString("link", link); params.putString("picture", pictureUrl); WebDialog feedDialog = (new WebDialog.FeedDialogBuilder( current, Session.getActiveSession(), params)) .setOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(Bundle values, FacebookException error) { if (error == null) { // When the story is posted, echo the // success // and the post Id. final String postId = values .getString("post_id"); if (postId != null) { ToastHelper.MakeShortText("Posted"); } else { // User clicked the Cancel button ToastHelper .MakeShortText("Publish cancelled"); } } else if (error instanceof FacebookOperationCanceledException) { // User clicked the "x" button ToastHelper .MakeShortText("Publish cancelled"); } else { // Generic, ex: network error ToastHelper .MakeShortText("Error posting story"); } } }).build(); feedDialog.show(); } } }); 

Чтобы поделиться страницей или ссылкой

 Bundle params = new Bundle(); params.putString("link", "link_url"); Request request = new Request(Session.getActiveSession(), "me/feed", params, HttpMethod.POST); request.setCallback(new Request.Callback() { @Override public void onCompleted(Response response) { if (response.getError() == null) { // Tell the user success! } } }); request.executeAsync(); 

Дополнительные параметры публикации см. На сайте / feed на developer.facebook.com