1

我試圖在Developer Console中註冊Google Proximity API。我指的是Google Github Link無法在Google Developer Console中註冊Proximity API

當前狀態:我已經從樣本項目Google Github Repository開始。我使用項目的軟件包名稱和使用keytool實用程序的SHA1創建了android key和OAuth Client ID。我使用的是谷歌文檔中提供的advertisedId

在那裏我卡住了:每當我試圖測試在谷歌API Explorer中的API它拋出一個錯誤The API Key and the authentication credential are from different projects.

請求:

POST https://proximitybeacon.googleapis.com/v1beta1/beacons:register?fields=advertisedId%2Cstatus&key=my_android_api_key  

{ 
    "advertisedId": 
    { 
     "id": "Fr4Z98nSoW0hgAAAAAAAAg==", 
     "type": "EDDYSTONE" 
    }, 
    "status": "ACTIVE" 
} 

響應:

400 OK 

{ 
    "error": 
    { 
     "code": 400, 
     "message": "The API Key and the authentication credential are from different projects.", 
     "status": "INVALID_ARGUMENT" 
    } 
} 

enter image description here

我已經仔細檢查過所有的軟件包名稱。他們來自我從Google repository下載的同一個項目。

任何線索都會有所幫助。

回答

1

因此,問題幾乎可以肯定的是,您是以一個用戶(Google帳戶)身份驗證您對API的調用,但該項目是由不同用戶的帳戶創建的。

你有兩個選擇:

  1. 請求進行身份驗證與擁有該項目相同的谷歌帳戶登錄服務器。
  2. 將正在進行身份驗證的用戶添加爲允許對其進行調用的人。

在這種情況下,「認證用戶」是該應用的當前有效Google帳戶(如果您正在運行Android示例)或已登錄的用戶(如果您使用的是iOS)。問題是帳戶不在有權訪問/修改項目的帳戶列表中。我相信Android應用可以讓你選擇/切換用戶,如果你想,而iOS應用肯定有一個註銷按鈕。

0

您不需要同時提供OAuth客戶端和API密鑰。我建議只使用一個,然後您不必擔心OAuth客戶端和密鑰屬於不同的項目。

1

當您嘗試使用不同類型的應用程序(本例中爲Android)的憑據從Web應用程序訪問API時,會導致此類錯誤。 當您在谷歌開發者控制檯中創建Android項目時,您創建的OAuth2.0和API密鑰將在實際的Android應用程序中需要,同時在您的Android應用程序中調用Proximity Beacon API.Create方法以利用RESTful調用(即信標。註冊等)到API.You將能夠註冊您的Android應用程序的信標。我發現這個鏈接非常有用:Google-Proximity-Beacons---Part-1

相關問題