Пост-изображение с react-native-fbsdk

Я пытаюсь опубликовать сообщение в группе facebook, используя react-native-fbsdk. Я снова и снова получаю одну и ту же ошибку, говоря: «Параметры запроса должны быть объектами со строковым полем». Закомментированный код дает ту же ошибку.

Это мой код:

    const getToken = await AccessToken.getCurrentAccessToken();

    const postRequestParameters = {
        fields: {
            message: {
                string: 'message'
            }
        }
        //fields: {
        //    message: 'message'
        //}
    };

    const config = {
        httpMethod: 'POST',
        version: 'v2.8',
        parameters: postRequestParameters,
        accessToken: getToken.accessToken.toString()
    };

    const infoRequest = new GraphRequest(
        '/1017038678426598/feed',
        config,
        this.postToFBCallback,
    );

    new GraphRequestManager().addRequest(infoRequest).start();

ошибка

Любая идея, что я делаю неправильно здесь? Я гуглю уже несколько дней, но безуспешно.


person Anders Ekman    schedule 03.04.2017    source источник


Ответы (1)


Наконец-то я нашел решение проблемы, которое работает для меня.

Код:

    const xhr = new XMLHttpRequest();

    const photo = {
        uri: this.props.imgUri,
        type: 'image/jpeg',
        name: 'photo.jpg',
    };

    let body = new FormData();
    body.append('photo', photo);

    xhr.onreadystatechange = () => {
        if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
            this.setState({
                message: '',
                loading: false
            });
            Actions.pop();
            Alert.alert('', 'Ditt meddelande delades!');
  }
};

xhr.ontimeout = (e) => {
        Alert.alert('Error', e);
};

    xhr.open('POST', `https://graph.facebook.com/v2.8/${feedID}/photos?caption=${message}&access_token=${access_token}`);
    xhr.send(body);
person Anders Ekman    schedule 04.04.2017