Примечание: «нижний регистр» нижнего регистра пользователя относится к акту публикации на стене пользователя. Весь верхний регистр «POST» относится к методу HTTP-запроса.
Facebooks Offical реагирующие родной SDK находится здесь https://developers.facebook.com/docs/react-native/
Примечание Есть три различных компонента:
- Войти
- Обмен
- Graph API.
Первые два являются пояснительными, а примеры представлены на сайте.
Графический API - это основной способ получить данные в и из социального профиля Facebook . Это низкоуровневый HTTP-интерфейс, который используется для запроса данных , публикации новых историй, загрузки фотографий и множества других задач , которые могут потребоваться для приложения.
Facebook Graph API - это только API REST, который позволяет вам взаимодействовать с данными fb с помощью HTTP-методов (GET, POST, DELETE и т. Д.). react-native-fbsdk - только слой поверх него, что облегчает выполнение этого запроса.
Есть два предпосылки для публикации в пользовательское время.
- Обеспечение вашего Fb приложения правильно настроено: https://developers.facebook.com/apps/
- Получение маркеров доступа пользователя с разрешением publish_actions может быть использована для публикации новых сообщений.
После того, как вы их получите, вы сможете опубликовать сообщение, используя отредактированный API-интерфейс GRAPH.
Но первые давайте посмотрим на то, как вы могли бы сделать это просто используя HTTP, а затем РН-SDK:
https://developers.facebook.com/docs/graph-api/reference/v2.7/user/feed
POST /v2.7/me/feed HTTP/1.1
Host: graph.facebook.com
message=This+is+a+test+message
В соответствии с этим мы должны сделать запрос POST к местоположение /v2.7/me/feed с сообщением, определяемым как параметр.
Чтобы ответить на ваш вопрос, как нам отправить сообщение пользователям, используйте реакцию на родной sdk().Позволяет иметь взгляд на rnsdk документы: https://developers.facebook.com/docs/react-native/graph-api
Похоже, нам нужны два объекта GraphRequest
(для создания запроса) и GraphRequestManager
(для отправки запроса)
const FBSDK = require('react-native-fbsdk');
const {
FBGraphRequest,
FBGraphRequestManager,
} = FBSDK;
Поскольку нет ни одного примера предоставляется на как разместить на пользователе стену с помощью этих двух объектов мы должны смотреть в исходном код:
https://github.com/facebook/react-native-fbsdk/blob/master/js/FBGraphRequest.js
мы можем видеть из конструкторы он принимает три параметра:
/**
* Constructs a new Graph API request.
*/
constructor(
graphPath: string,
config: ?GraphRequestConfig,
callback: ?GraphRequestCallback,
)
Мы знаем graphPath = "/me/feed"
из документации по графическому API. Обратный вызов будет просто функцией, вызванной возвратом запроса. Это оставляет нас с объектом конфигурации, который определен в источнике, как:
type GraphRequestConfig = {
/**
* The httpMethod to use for the request, for example "GET" or "POST".
*/
httpMethod?: string,
/**
* The Graph API version to use (e.g., "v2.0")
*/
version?: string,
/**
* The request parameters.
*/
parameters?: GraphRequestParameters,
/**
* The access token used by the request.
*/
accessToken?: string
};
Таким образом, наш объект конфигурации будет выглядеть следующим образом:
const postRequestParams = {
fields: {
message: 'Hello World!'
}
}
const postRequestConfig = {
httpMethod: 'POST',
version: 'v2.7',
parameters: postRequestParams,
accessToken: token.toString() //pre-obtained access token
}
Собирая вообще:
const FBSDK = require('react-native-fbsdk');
const {
FBGraphRequest,
FBGraphRequestManager,
} = FBSDK;
_responseInfoCallback(error: ?Object, result: ?Object) {
if (error) {
alert('Error fetching data: ' + error.toString());
} else {
alert('Success fetching data: ' + result.toString());
}
}
const postRequestParams = {
fields: {
message: 'Hello World!'
}
}
const postRequestConfig = {
httpMethod: 'POST',
version: 'v2.7',
parameters: postRequestParams,
accessToken: token.toString()
}
const infoRequest = new GraphRequest(
'/me/feed',
postRequestConfig,
this._responseInfoCallback,
);
new FBGraphRequestManager().addRequest(infoRequest).start();
Шивам, спасибо за ответ, но, как указано в моем вопросе - я не хочу, чтобы отправить ссылку с комментарием, а просто сообщение/текст на временной шкалу пользователя. Пример: «Привет, мир!» вот и все. Есть ли диалог-native-fbsdkshare, где это возможно? Спасибо. –
Отредактировано и предоставлено пошаговое руководство –