0

我真的迷路了,我有一个 Expo React-Native 应用程序。用户可以使用 Facebook 凭据登录。

  loginWithFacebook = async () => {
    const { type, token } = await Expo.Facebook.logInWithReadPermissionsAsync(FACBOOK_APP_ID, {
      permissions: ['public_profile', 'email'],
    });

    if (type === 'success') {
      this.callGraph(token);
    } else {...});
    }
  };

callGraph = async (token) => {
    const response = await fetch(`https://graph.facebook.com/me?access_token=${token}&fields=id,name,email,picture`);
    const responceJSON = JSON.stringify(await response.json());
    try {
      await AsyncStorage.multiSet([['FBResponse', responceJSON], ['FBToken', token]]);
    } catch (error) {...}
  };

现在我有了登录用户的令牌和信息。现在我从 cameraRoll 得到一张照片

  pickImage = async () => {
    const result = await Expo.ImagePicker.launchImageLibraryAsync({...});
  };

它给出了设备上图像的 URI,我也RNFetchBlob用来再次将图像设置为 base64。但我真的很困惑我应该如何将这张照片分享/上传到 Facebook。我应该从 Expo 中弹出安装 FBSDK 并从 Android 文件夹中执行吗?或者我可以使用 Graph API 来做到这一点?或者我可以将它链接到世博会?我找不到一个例子,react-native-share我到处都能看到简单的样本。

4

1 回答 1

0

世博会的 Facebook 集成仅接受读取权限,并且无法登录publish_actions似乎社区仍在努力。对于使用,您应该从 Expo 中退出或通过 Expo WebBrowser集成fbsdk请求权限。

于 2018-03-04T09:57:05.373 回答