我在使用路由 API 时遇到问题。 ApiKey 受到限制,因此只有我的应用程序可以使用它。我正在使用 Retrofit 来发出请求,但总是收到 403 错误。
我已经尝试将包名和签名密钥作为标头传递,但它仍然不允许我这样做。谁能告诉我怎么了?
我已经有解决方案了。问题在于如何传递 SHA-1 密钥。必须从密钥中删除字符“:”
这是我的请求拦截器:
class RoutesInterceptor @Inject constructor() : Interceptor {
override fun intercept(chain: Interceptor.Chain): okhttp3.Response {
val request = chain.request()
val newRequest = request.newBuilder()
.addHeader("Content-Type", "application/json")
.addHeader("X-Goog-Api-Key", BuildConfig.googleApiKey)
.addHeader("X-Goog-FieldMask", "*")
.addHeader("X-Android-Package", "YOUR PACKAGE NAME")
.addHeader("X-Android-Cert", "13AC624158AD920199CAB14582")
.build()
return chain.proceed(newRequest)
}
}