Estou usando https://maps.googleapis.com/maps/api/geocode/json ? link com a chave do servidor e IP do usuário para encontrar a latitude e longitude de qualquer endereço, quando estou tentando encontro o erro como
Eu tenho uma chave de acesso ao servidor do google e coloquei o endereço IP do meu servidor na lista branca.
O URL que estou tentando acessar via PHP CURL é:
O resultado que estou obtendo:
Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)
Preciso configurar alguma coisa. A API de geocodificação também está ativada.
google-api
google-places-api
user3336944
fonte
fonte
Respostas:
Eu tive o mesmo problema e achei isso.
No url, é necessária a chave do servidor no final e não a chave da API do aplicativo.
Então, basicamente, você apenas adiciona a chave do servidor no final da URL assim:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY
Agora, para obter a chave do servidor, basta seguir estas etapas:
1) Vá para o console do desenvolvedor https://code.google.com/apis/console/
2) Em Credenciais, em Acesso à API pública, crie uma nova chave
3) Selecione a chave do servidor na opção.
4) Insira seu endereço IP no campo e se você tiver mais endereços IP, você pode apenas adicionar em cada linha. NOTA: Digite o endereço IP apenas quando quiser usá-lo para fins de teste. Caso contrário, deixe a seção Endereço IP em branco.
5) Quando terminar, clique em criar e sua nova chave de servidor será gerada e você pode adicionar essa chave de servidor ao seu URL.
A última coisa é que, em vez de colocar o sensor = true no meio do URL, você pode adicioná-lo no final desta forma:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true
Isso definitivamente resolverá o problema e lembre-se de usar a chave do servidor para
Places API
.EDITAR
Acredito que o URL da web mudou nos últimos anos. Você pode acessar o console do desenvolvedor aqui agora - https://console.developers.google.com/apis/dashboard
Espero que esta resposta ajude você e outros espectadores. Boa sorte .. :)
fonte
fonte
Além da chave de API atribuída a você, o Google também verifica a origem da solicitação de entrada olhando para
REFERRER
ou o endereço IP. Para executar um exemplo em cacho, criar um novoServer Key
no console de APIs do Google . Ao criá-lo, você deve fornecer o endereço IP do servidor. Nesse caso, será seu endereço IP local . Depois de criar umServer Key
e colocar seu endereço IP na lista de permissões, você poderá usar a nova chave de API no curl.Meu palpite é que você provavelmente criou sua chave de API como um
Browser Key
que não exige que você coloque seu endereço IP na lista de permissões, mas em vez disso usa aREFERRER
tag de cabeçalho HTTP para validação. curl não envia esta tag por padrão, então o Google não conseguiu validar sua solicitação.fonte
A API do Google Places atualmente não oferece suporte a chaves Android ou iOS geradas no Console de APIs do Google. Apenas as chaves do servidor e do navegador são atualmente suportadas.
fonte
Você está tentando usar uma chave de API que você restringiu de uma forma que não permite esta ação.
De acordo com o Google:
Portanto, a coisa certa a fazer é criar outra chave de API e escolher as restrições corretas para este assunto. No seu caso, escolha "endereços IP" (em "Restrições do aplicativo") e use "ADICIONAR UM ITEM" para adicionar o ip do servidor. Observe que deixar uma lista em branco não funcionará e resultará no Google alterando suas restrições para "Nenhuma".
Além disso, não se esqueça de adicionar as APIs relevantes em "Restrições de API" (no seu caso, "API de geocodificação").
Uma última coisa - o Google está bloqueando o uso desta API até que você vincule seu aplicativo à conta de faturamento do Google Cloud. Portanto, se você ainda não fez isso, depois de obter uma resposta com sucesso, ele dirá que você precisa fazer isso primeiro (tem um pacote inicial gratuito).
fonte
Você cria uma chave sem o referenciador, não insira o endereço do referenciador
fonte
A API do Google Place requer que o cabeçalho HTTP referenciador seja incluído ao fazer a chamada API.
Inclua o cabeçalho HTTP "Referer: yourdomain.com" e isso deve corrigir os problemas de resposta.
fonte
Além disso, a API correspondente deve ser habilitada para o projeto em questão
https://console.developers.google.com/apis/library?project=projectnameaqui
fonte
Para a última versão da API, o oposto exato parece ser verdadeiro para mim.
Ao ligar para o url,
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>
recebi o seguinte erroDepois de mudar o pedido para
https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>
ele funcionou bem.Observe que a mensagem de erro recebida acima foi a mesma que recebi ao ir diretamente para a URL no navegador. Quando chamei a API de um programa de software, recebi uma resposta HTML com basicamente a seguinte mensagem:
fonte
Para aplicativos iOS ou Android, a chave precisa de um privilégio extra concedido.
Vá para o Console do Google -> APIs e serviços -> Biblioteca. Toque na biblioteca de locais para sua plataforma e, em seguida, toque em Ativar.
Consulte https://developers.google.com/maps/gmp-get-started#enable-api-sdk
fonte
Autenticação, cotas, preços e políticas Autenticação Para usar a API de rotas, você deve primeiro ativar a API e obter as credenciais de autenticação adequadas. Para obter mais informações, consulte Primeiros passos com a plataforma do Google Maps.
Cotas e preços Revise a página de uso e faturamento para obter detalhes sobre as cotas e preços definidos para a API de direções.
Políticas O uso da API de direções deve estar de acordo com as políticas da API.
mais informações: visite: --- https://developers.google.com/maps/documentation/directions/start?hl=en_US
fonte
adicionar apenas em AppDelegate como
e remova a chave neste url.
agora url é
fonte
Desative a API de direção e a API de geocodificação e ative-a novamente.
ele funciona por apenas 5 a 10 segundos e então se desativa automaticamente.
isso significa que você tem apenas 5-10 segundos para testar sua atribuição.
fonte