在react native中使用mapbox时出现授权错误
https://api.mapbox.com/downloads/v1/navigation/android/maven/com/mapbox/navigation/ui/1.5.0/ui-1.5.0.pom'。从服务器收到状态代码401 :未授权
我正在使用这个包( https://www.npmjs.com/package/@homee/react-native-mapbox-navigation )
根据包文档,我也在做同样的事情。
我的build.gradle文件是
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "29.0.3"
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
ndkVersion = "20.1.5948944"
}
repositories {
google()
jcenter()
maven {
url 'https://api.mapbox.com/downloads/v1/navigation/android/maven'
authentication {
basic(BasicAuthentication)
}
credentials {
username = "mapbox"
password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
}
}
}
dependencies {
classpath("com.android.tools.build:gradle:4.1.0")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
maven { url 'https://mapbox.bintray.com/mapbox' }
maven { url 'https://www.jitpack.io' }
maven {
url 'https://api.mapbox.com/downloads/v1/navigation/android/maven'
authentication {
basic(BasicAuthentication)
}
credentials {
username = "mapbox"
password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""
}
}
}
}
发布于 2021-08-30 23:16:35
我最近遇到了一个类似的问题。我的第一个建议是,如果你使用他们的公共访问令牌,从Access Tokens创建一个新的令牌,并确保选中了Downloads:Read scope。然后在"your_projects_directory.gradle“(对我来说是C:\Users\USERNAME\AndroidStudioProjects\ .gradle)中创建一个gradle.properties文件,并粘贴以下行:
MAPBOX_DOWNLOADS_TOKEN=YOUR_SECRET_ACCESS_KEY
当然,您应该用实际的访问密钥替换YOUR_SECRET_ACCESS_KEY。为了防止Android Studio无法找到这个新创建的gradle.properties文件,我建议在您的项目gradle.properties文件中添加上述行的副本。这就是解决我的问题的方法,尽管我不确定这是否有任何安全隐患。最后,您的build.gradle应该包含以下内容:
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'
authentication {
basic(BasicAuthentication)
}
credentials {
// Do not change the username below.
// This should always be `mapbox` (not your username).
username = 'mapbox'
// Use the secret token you stored in gradle.properties as the password
password = System.getenv("MAPBOX_DOWNLOADS_TOKEN") ?: project.property("MAPBOX_DOWNLOADS_TOKEN") as String
}
}
https://stackoverflow.com/questions/67330386
复制相似问题