Как я могу отправить приглашение использовать приложение с Graph API? Смотрел ссылку, ничего подходящего не нашел. Любая подсказка?
Facebook: отправить приглашение в приложение
comment
Это невозможно на данный момент. Старый fbml и новый диалог запросов — единственный способ отправки запросов.
- person DannyKK   schedule 20.05.2011
comment
То есть отправить запрос с наших серверов невозможно?
- person Alexis Dufrenoy   schedule 20.05.2011
comment
@Traroth: это правильно. Единственный способ отправить прямое приглашение с помощью POST на {user_id}/apprequests, и пользователь должен уже установить ваше приложение и предоставить разрешения на доступ к этой конечной точке.
- person typeoneerror   schedule 06.09.2011
Ответы (3)
Если вам нужно использовать restfb, как я понял из ваших тегов, вы можете попробовать это:
Это автономный тест junit, который извлекает токен аутентификации и отправляет предварительный запрос. Создаваемый пользователем auth_token не требуется, но вы можете отправлять подобные запросы только тем пользователям, которые уже авторизовали ваше приложение.
Зависимости — это JUnit, Commons HttpClient и сам restfb.
package com.apprequesttest;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.junit.Test;
import com.restfb.DefaultFacebookClient;
import com.restfb.Facebook;
import com.restfb.FacebookClient;
import com.restfb.Parameter;
import com.restfb.types.FacebookType;
public class AppRequestTest
{
@Test
public void testAppRequest() throws Exception
{
String appId = "YOUR_APP_ID";
String appSecret = "YOUR_ACCESS_TOKEN";
String tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + appId + "&client_secret=" + appSecret
+ "&grant_type=client_credentials";
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(tokenUrl);
client.executeMethod(method);
String rawAccessToken = new String(method.getResponseBody());
String accessToken = rawAccessToken.split("=")[1];
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
String apprequestCall = "TARGET_USER_ID/apprequests";
AppRequestResponse apprequest = facebookClient.publish(apprequestCall,
AppRequestResponse.class,
Parameter.with("message", "BANANAMSG"),
Parameter.with("data", "BANANADATA"));
System.out.println(apprequest.request);
System.out.println(apprequest.to);
}
/**
* Couldn't find any beans that would acomodate this response on restfb so we create our own here
* Looks like "to" is an array but this works well enough for the sake of the example
*/
public static class AppRequestResponse extends FacebookType
{
private static final long serialVersionUID = 1L;
public AppRequestResponse()
{
// Empty
}
@Facebook
public String request;
@Facebook
public String to;
}
}
person
garbelini
schedule
22.11.2011
@garbelin ... Я попробовал ваш код и смог отправить приглашение, но у меня возникла небольшая проблема. Я продолжаю получать это исключение. Я разместил вопрос для того же stackoverflow.com/questions/10460014/
- person Santhosh; 05.05.2012
@ skokal01 У меня никогда не было этих пустых ошибок 403. Для меня это пахнет проблемой сети.
- person garbelini; 07.05.2012
Привет, я получаю 322391074505234 в качестве идентификатора запроса и xxxx в качестве поля. но я не вижу фактического приглашения, когда проверяю учетную запись пользователя. что может быть моим недостающим пунктом?
- person kitokid; 29.05.2012
и я не могу использовать токен доступа, созданный с помощью приведенного выше кода. если использовать, я ударил 403 ошибок. Итак, я должен использовать токен доступа, который я предоставил пользователю с обычным потоком.
- person kitokid; 29.05.2012
Я вижу 1 в приложениях и играх. но не вижу приложение, которое отправляет это приглашение. Есть ли какие-либо настройки, которые мне нужны для настройки моего приложения. На самом деле мое приложение перенаправляется на другой URL-адрес. не в facebookapps.
- person kitokid; 29.05.2012
просто моя ошибка, потому что мое приложение веб-типа. не тип холста. когда я устанавливаю тип холста, я вижу все приглашения. Спасибо. для людей, которые могут столкнуться с такой ситуацией, как я, пожалуйста, проверьте эту ссылку. Название stackoverflow.com/questions/9185009/
- person kitokid; 29.05.2012
Пример HTML/javascript:
<html>
<head>
<title>My Great Website</title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'YOUR_APP_ID', cookie:true,
status:true, xfbml:true
});
FB.ui({ method: 'apprequests',
message: 'Here is a new Requests dialog...'});
</script>
</body>
</html>
Вы можете связать javascript с событием клика по ссылке и т. д.
Подробности можно найти здесь:
http://developers.facebook.com/blog/post/464/
person
amit_saxena
schedule
22.05.2011
Не уверен, что это то же самое, что и приглашение.
- person izb; 26.10.2011
http://developers.facebook.com/docs/reference/dialogs/requests/ а>
Вы можете использовать диалоги, как описано в приведенной выше ссылке
person
fmucar
schedule
21.05.2011