我想用 yelp api 做一個簡單的實驗,但我在啟動時卡住并不斷收到驗證錯誤。我檢查并重繪 了 API_key 和 BaseURL 等,但錯誤仍然存??在。
MainActivity.kt
private const val TAG = "MainActivity"
private const val BASE_URL = "https://api.yelp.com/v3/"
private const val API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val retrofit = Retrofit.Builder().baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
val yelpService = retrofit.create(YelpService::class.java)
yelpService.searchRestaurants("Bearer $API_KEY", "Avocado Toast","New York").enqueue(object : Callback<Any> {
override fun onResponse(call: Call<Any>, response: Response<Any>) {
Log.i(TAG, "onResponse $response")
}
override fun onFailure(call: Call<Any>, t: Throwable) {
Log.i(TAG, "onFailure $t")
}
})
}
}
YelpService.kt
public interface YelpService {
@GET("businesses/search")
fun searchRestaurants(
@Header("Authorization") authHeader: String,
@Query("term") searchTerm: String,
@Query("location") location: String) : Call<Any>
}
如果您能幫助我,我將不勝感激。
在此處輸入影像描述
uj5u.com熱心網友回復:
我現在自己測驗服務。對于網址:
https://api.yelp.com/v3/businesses/search?term=delis&latitude=37.786882&longitude=-122.399972
您必須添加term
,latitude
和longitude
作為RequestParam
.
對于標題,您必須添加:
Authorization
和值Bearer API_KEY
據我了解,問題是您沒有將位置作為 RequestParam 發送。我的意思是你必須用我分享的 url 格式發送。
之后所有的回應:
{
"businesses": [
{
"id": "FmGF1B-Rpsjq1f5b56qMwg",
"alias": "molinari-delicatessen-san-francisco",
"name": "Molinari Delicatessen",
"image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/4gRY9rVs8JyHvngljSzXyA/o.jpg",
"is_closed": false,
"url": "https://www.yelp.com/biz/molinari-delicatessen-san-francisco?adjust_creative=yIYqZpTZ3iCNqMi0kAtGAQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=yIYqZpTZ3iCNqMi0kAtGAQ",
"review_count": 1233,
"categories": [
{
"alias": "delis",
"title": "Delis"
}
],
"rating": 4.5,
"coordinates": {
"latitude": 37.79838,
"longitude": -122.40782
},
"transactions": [
"pickup",
"delivery"
],
"price": "$$",
"location": {
"address1": "373 Columbus Ave",
"address2": "",
"address3": "",
"city": "San Francisco",
"zip_code": "94133",
"country": "US",
"state": "CA",
"display_address": [
"373 Columbus Ave",
"San Francisco, CA 94133"
]
},
"phone": " 14154212337",
"display_phone": "(415) 421-2337",
"distance": 1465.2460213942109
}
],
"total": 782,
"region": {
"center": {
"longitude": -122.399972,
"latitude": 37.786882
}
}
}
注意:我添加了 URL 的限制結尾,它是可選的。
uj5u.com熱心網友回復:
{"error": {"code": "VALIDATION_ERROR", "description": "Authorization is a required parameter.", "field": "Authorization", "instance": null}}
在此處輸入影像描述
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494703.html