joe*_*k16 7 android ios react-native
我是移动开发的新手.
我有一个具有Instagram身份验证的应用程序.
我的URL方案正在运行.当我打开Safari并键入myapp://它打开应用程序.
当我尝试myapp://在Instagram API中添加重定向网址时,它会出错Enter a valid website.
如何让此重定向网址生效?作为Instagrams重定向URI,我应该怎么做?
先感谢您.
首先,这个问题只存在于ios,而不是android,因为在android中我们可以保存这样的url方案:在http://myAppAndroidManifest.xml文件中,它是instagram形式的有效重定向url https://www.instagram.com/对于
ios,我们需要这样的东西:http//myApp://,它在 safari 中工作正常,但不是 instagram 形式的有效 url
在我的情况下,以下是我遇到类似问题时应用程序的状态:
http://myApp/#access_token=asa2dcc...'因此,我能够获取令牌,但它不会自动重定向回我的应用程序。因此,我手动处理了此重定向部分,如下所示:
Linking;它的作用是在您的应用程序中而不是在浏览器中打开一个Web视图,这样您就可以完全控制应用程序内的导航我使用React-navigation使用 WebView 导航到屏幕,并传递了一个回调,该回调将接收一个令牌,该令牌又可用于进行其他 api 调用:
navigation.navigate('InstaWebView', {
callback: (err, access_token) => {
if (!access_token) {
return Alert.alert('Error in fetching insta token');
}
// make api calls
},
});
Run Code Online (Sandbox Code Playgroud)
InstaWebView组件从渲染函数返回以下 WebView:
<WebView
ref={WEBVIEW_REF}
style={{ flex: 1 }}
onNavigationStateChange={
this.onNavigationStateChange.bind(this)
}
source={{ uri: instaUrl }}
onError={() => {
Alert.alert('Error in loading WebView..Please try again');
return navigation.goBack();
}}
/>
Run Code Online (Sandbox Code Playgroud)查看此代码以获得更多帮助
希望这对某人有帮助!
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |