Google maps Google地理编码API安装程序查找正确的ClientID和密码
我正在构建一个java web应用程序,它需要上定义的Google地理编码服务。我的应用程序是所有设置和一切工作,我现在试图签署我的请求,以允许从API的其他功能,如额外的费率限制计费等 我遇到的问题是,我似乎无法获得与地理编码API一起工作的正确客户端Id和密钥。我使用了谷歌API控制台上API访问选项卡上id和密钥的每一个合理组合。为了测试我的凭证,我已经直接从googleat复制了PHP代码,以确保我的请求被正确签名。我看了一个关于这个主题的谷歌开发者视频(),它显示这是为一个谷歌商业帐户做的,在阅读了谷歌的API文档后,你似乎没有一个商业帐户来使用地理编码服务,但是我似乎无法获得一个有效的客户ID和密钥来为我工作。有人知道在非商业帐户上使用此服务的正确设置吗?或者甚至有可能吗?(请记住,这是一个服务器到服务器的连接) 如果有人需要更多信息,请告诉我。如有任何建议,我将不胜感激Google maps Google地理编码API安装程序查找正确的ClientID和密码,google-maps,google-geocoder,google-geocoding-api,Google Maps,Google Geocoder,Google Geocoding Api,我正在构建一个java web应用程序,它需要上定义的Google地理编码服务。我的应用程序是所有设置和一切工作,我现在试图签署我的请求,以允许从API的其他功能,如额外的费率限制计费等 我遇到的问题是,我似乎无法获得与地理编码API一起工作的正确客户端Id和密钥。我使用了谷歌API控制台上API访问选项卡上id和密钥的每一个合理组合。为了测试我的凭证,我已经直接从googleat复制了PHP代码,以确保我的请求被正确签名。我看了一个关于这个主题的谷歌开发者视频(),它显示这是为一个谷歌商业帐户
编辑:查看上面列出的使用限制,您会发现这意味着您可以在没有业务帐户的情况下使用地理编码API。。。。但是如何使用呢?我浏览了文档,正如您正确地指出的,您不需要业务帐户来使用地理编码API。如果您有一个非商业帐户,那么您只需要传递API密钥。仅当您有业务帐户时,才需要客户端ID。密钥本身是唯一的,如下所述: API密钥是使用控制台生成的唯一密钥。当应用程序需要调用在此项目中启用的API时,应用程序会将此密钥作为key=API\u key参数传递到所有API请求中。使用此密钥不需要任何用户操作或同意,不授予访问任何帐户信息的权限,也不用于授权 根据下面的链接,对于业务帐户,使用客户ID而不是密钥 如果您是Maps for Business客户,则需要使用客户端ID代替密钥。请注意,这两者不能一起使用。客户端ID类似于密钥,但有以下区别:
- 使用客户端ID的业务应用程序地图可能有权访问其他功能或限制,如地图分析。您的客户端ID将由谷歌企业支持提供给您。您不需要使用API控制台
- 加载Google Maps JavaScript API时,将使用客户机参数而不是键参数
public static String getAddress(String latitude, String longitude){
String address = null;
try {
final String inputurl = "http://maps.googleapis.com/maps/api/geocode/xml?latlng="+ latitude + "," + longitude + "&sensor=true";
// Sign the URL using key
String url = getRequestURL(inputurl);
url = "http://maps.googleapis.com" + url;
final URL google = new URL(inputurl);
final URLConnection geocode = google.openConnection();
final BufferedReader in = new BufferedReader(new InputStreamReader(
geocode.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
address += inputLine;
}
in.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
public static String getRequestURL(final String inputurl) throws IOException,
InvalidKeyException, NoSuchAlgorithmException, URISyntaxException {
// Convert the string to a URL so we can parse it
final URL url = new URL(inputurl);
final URLSigner signer = new URLSigner("*INSERT YOUR KEY HERE*");
final String request = signer.signRequest(url.getPath(), url.getQuery());
return request;
}