A: 

I assume your trying to sign the url for OAuth?

Try out this library: http://code.google.com/p/oauth/

Kendall Hopkins
A: 

You have 2 problems at least,

  1. The Google uses special URL-safe Base64. Normal base64_decode doesn't work.
  2. You need to generate the SHA1 in binary.

Try this,

$key = "vNIXE0xscrmjlyV-12Nj_BvUPaw=";
$data = "/maps/api/geocode/json?address=New+York&sensor=false&client=clientID";
$my_sign = hash_hmac("sha1", $data, base64_decode(strtr($key, '-_', '+/')), true);
$my_sign = strtr(base64_encode($my_sign), '+/', '-_');
ZZ Coder
Your code worked. I swear that I tried to switch those two characters around manually and still couldn't see the correct result. Perhaps that was not correct though.In any case, thanks for your help! :)
Conradaroma