Fehlermeldung bei Einbindung von google api key

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehlermeldung bei Einbindung von google api key

    Hallo,

    Ich möchte google places in meine app einbinden. Ich habe in google den API schluessel erstellt. UNterrestriktionen habe ich "iOS apps" angegeben. Ich bekomme die Fehlermeldung in der console:

    {
    "error_message" = "This IP, site or mobile application is not authorized to use this API key. Request received from IP address 173.56.9.176, with empty referer";
    "html_attributions" = (
    );
    results = (
    );
    status = "REQUEST_DENIED";
    }
    2019-02-02 15:46:37.706196-0500 Places[17740:5738931] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x103f23270] get output frames failed, state 8196
    2019-02-02 15:46:37.706318-0500 Places[17740:5738931] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x103f23270] get output frames failed, state 8196
    2019-02-02 15:46:37.706523-0500 Places[17740:5738931] TIC Read Status [1:0x0]: 1:57
    2019-02-02 15:46:37.706539-0500 Places[17740:5738931] TIC Read Status [1:0x0]: 1:57


    Hier ist mein VC file:


    Quellcode

    1. import Foundation
    2. import CoreLocation
    3. struct PlacesLoader {
    4. let apiURL = "https://maps.googleapis.com/maps/api/place/"
    5. let apiKey = "AIzaSyAsj8w8wR2lHUi3KNB34hU7uwrQFANrexk"
    6. func loadPOIS(location: CLLocation, radius: Int = 30, handler: @escaping (NSDictionary?, NSError?) -> Void) {
    7. print("Load pois")
    8. let latitude = location.coordinate.latitude
    9. let longitude = location.coordinate.longitude
    10. let uri = apiURL + "nearbysearch/json?location=\(latitude),\(longitude)&radius=\(radius)&sensor=true&types=establishment&key=\(apiKey)"
    11. let url = URL(string: uri)!
    12. let session = URLSession(configuration: URLSessionConfiguration.default)
    13. let dataTask = session.dataTask(with: url) { data, response, error in
    14. if let error = error {
    15. print(error)
    16. } else if let httpResponse = response as? HTTPURLResponse {
    17. if httpResponse.statusCode == 200 {
    18. print(data!)
    19. do {
    20. let responseObject = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)
    21. guard let responseDict = responseObject as? NSDictionary else {
    22. return
    23. }
    24. handler(responseDict, nil)
    25. } catch let error as NSError {
    26. handler(nil, error)
    27. }
    28. }
    29. }
    30. }
    31. dataTask.resume()
    32. }
    33. func loadDetailInformation(forPlace: Place, handler: @escaping (NSDictionary?, NSError?) -> Void) {
    34. let uri = apiURL + "details/json?reference=\(forPlace.reference)&sensor=true&key=\(apiKey)"
    35. let url = URL(string: uri)!
    36. let session = URLSession(configuration: URLSessionConfiguration.default)
    37. let dataTask = session.dataTask(with: url) { data, response, error in
    38. if let error = error {
    39. print(error)
    40. } else if let httpResponse = response as? HTTPURLResponse {
    41. if httpResponse.statusCode == 200 {
    42. print(data!)
    43. do {
    44. let responseObject = try JSONSerialization.jsonObject(with: data!, options: .allowFragments)
    45. guard let responseDict = responseObject as? NSDictionary else {
    46. return
    47. }
    48. handler(responseDict, nil)
    49. } catch let error as NSError {
    50. handler(nil, error)
    51. }
    52. }
    53. }
    54. }
    55. dataTask.resume()
    56. }
    57. }
    Alles anzeigen


    Kann mir jemand helfen mit einem Hinweis, was ich bei der Einbindung des API Schlüssels falsch gemacht habe? Vielen Dank!

  • Wie funktioniert das denn heute? Soweit ich weiß hat Google doch seine Lizenzen geändert. Um einen gültigen key zu bekommen muss man seine Bankdaten hinterlegen und wenn man die 200€ freianfragen überschreitet, dann wird das direkt belastet. Das wäre ja Wahnsinn wenn man das in eine App programmiert. Mal ganz davon abgesehen, dass sich jeder aus der App den key heraus holen kann und damit machen kann was er will (ein bisschen kriminelle Energie und Hakerwissen voraus gesetzt) was ist wenn die App plötzlich millionenfach genutzt wird und man selber muss dann für die Anfragen bei Google zahlen. Das ist ja finanzieller selbstmord oder?

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • nussratte schrieb:

    Wenn deine App millionenfach genutzt wird und dann nicht die Google kosten drin sind ist an deinem Konzept was falsch
    Mathematik ist auch nicht deine Stärke oder?

    Wenn du wirklich eine App anbieten willst, die kein ABO system für Google hat, dann muss die App mindestens soviel kosten wie ein User über die Lebenszeit dieser App an Anfragen braucht. Das kann dummerweise gegen unendlich gehen. Wie willst du also kalkulieren was deine App kosten muss, damit du nicht drauf zahlst, der User die App aber noch kauft weil nicht zu teuer? Das genau war mein Grund zu fragen wie man mit dem neuen Bezahlsystem von Google eine App anbieten will bei der man nicht Gefahr läuft pleite zu gehen....
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Man sollte sich eben - wie immer - gut ûberlegen, welchen Mehrwert eine App bieten kann, wie der Markt bzw. das Preisgefüge ausschaut und welche Kosten man letztlich hat. Die Google-API ist eben ein weiterer variabler Kostenfaktor, ähnlich einem Backend.

    Abhängig von der API-Funktion gehen die Preise allerdings ganz schön nach oben und für eine Hobby-Anwendung (oder eine kostenlose) würde ich mich nach Alternativen wie OSM o. ä. umsehen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Thallius schrieb:

    nussratte schrieb:

    Wenn deine App millionenfach genutzt wird und dann nicht die Google kosten drin sind ist an deinem Konzept was falsch
    Mathematik ist auch nicht deine Stärke oder?
    Wenn du wirklich eine App anbieten willst, die kein ABO system für Google hat, dann muss die App mindestens soviel kosten wie ein User über die Lebenszeit dieser App an Anfragen braucht. Das kann dummerweise gegen unendlich gehen. Wie willst du also kalkulieren was deine App kosten muss, damit du nicht drauf zahlst, der User die App aber noch kauft weil nicht zu teuer? Das genau war mein Grund zu fragen wie man mit dem neuen Bezahlsystem von Google eine App anbieten will bei der man nicht Gefahr läuft pleite zu gehen....
    du packst Dir deine Argumente auch so hin wie es dir gerade passt oder?
    Wo bitte wurde vorher was geschrieben von „kein Abo“?

    Wenn du regelmäßige kosten hast dann musst du auch regelmäßige Einnahmen haben.
    Dein „kein Abo“ ist absolut mer Quatsch.
    Soviel zu Mathe ist nicht meine Stärke.
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint: