gpt4 book ai didi

react-native - 我正在开发 React Native 应用程序,因为我需要支持使用 OneDrive,Dropbox 上传文件。有什么办法可以完成

转载 作者:行者123 更新时间:2023-12-05 08:08:10 25 4
gpt4 key购买 nike

我需要从 onedrive 和 dropbox 中选择文件。是否有可用的 npm 模块。

最佳答案

这是一个老问题,但我遇到了同样的问题。花了一段时间寻找最佳解决方案。

使用浏览器内包 react-native-inappbrowser和 deepLink 功能。我能够解决这个问题。您必须查看 OneDrive/Dropbox 文档以了解允许 react-native 应用程序使用 RedirectUI。

const redirectUrl = 'com.******.*******://auth'

export const tryDeepLinking = async () => {
const loginUrl =
'https://login.microsoftonline.com/common/oauth2/v2.0/authorize';
const redirectUrl = getDeepLink();
const url = `${loginUrl}?redirect_url=
${encodeURIComponent(redirectUrl,)}
&client_id=${encodeURIComponent('**********',)}
&response_type=${encodeURIComponent('token')}
&scope=${encodeURIComponent(
'openid Files.ReadWrite.All offline_access',
)}`;
try {
if (await InAppBrowser.isAvailable()) {
const result: any = await InAppBrowser.openAuth(url, redirectUrl, {
// iOS Properties
ephemeralWebSession: false,
// Android Properties
showTitle: false,
enableUrlBarHiding: true,
enableDefaultShare: false,
});
const paramsString = result.url.split('#')[1];
let params: any = {};
paramsString.split('&').forEach(kv => {
const keyValue = kv.split('=', 2);
params[keyValue[0]] = keyValue[1];
});
await setStorageAzureToken(params.access_token);
Alert.alert('Response', 'Success');
} else {
Alert.alert('InAppBrowser is not supported :/');
}
} catch (error) {
console.error(error);
Alert.alert('Something’s wrong with the app :(');
}
};

这就是我用来获取 OneDrive 访问 token 的方法,您可以从那里使用 https://graph.microsoft.com/v1.0/ api 来管理文件。

关于react-native - 我正在开发 React Native 应用程序,因为我需要支持使用 OneDrive,Dropbox 上传文件。有什么办法可以完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51780506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com