使用react-native-fbsdk发布图像

时间:2017-04-03 16:57:41

标签: react-native react-native-fbsdk

我正在尝试使用react-native-fbsdk发布到facebook组。 我一遍又一遍地得到同样的错误,说“请求参数需要是带有'字符串'字段的对象。” 评论的代码给出了相同的错误。

这是我的代码:

    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();

error

知道我在这里做错了吗?我一直在谷歌上搜索几天没有运气。

1 个答案:

答案 0 :(得分:-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);