Sie müssen Post an die Fusion Tables API eine Spalte, aber derzeit können Sie dies nicht direkt von JavaScript als Google does not set the CORS headers tun, um domainübergreifendes Posten in ihrer API zu ermöglichen.
Also, wenn Sie dies tun möchten, müssen Sie Ihre Anfrage über Ihren Webserver oder etwas ähnliches "weiterleiten". Ich mache es mit dem folgenden PHP-Skript, dann poste ich die Anfrage per JavaScript in mein PHP-Skript. Und schließlich müssen Sie authenticate yourself using OAuth.
$url = "http://www.google.com/fusiontables/api/query";
$relay = new PostRelay($url,$_POST);
echo $relay->relay();
Und in der Klasse PostRelay das Verfahren relay()
definiert ist, hält die $_POST
alle eingestellten Daten (dargestellt durch $this->data
in meiner Klasse):
public function relay()
{
$url = $this->getUrl();
$this->curlHandler = curl_init($url);
curl_setopt($this->curlHandler, CURLOPT_POST, true);
curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curlHandler, CURLOPT_TIMEOUT, 30);
curl_setopt($this->curlHandler, CURLOPT_FOLLOWLOCATION, 1);
if($this->data != null) {
curl_setopt($this->curlHandler, CURLOPT_POSTFIELDS, $this->getData());
}
$remote_answer = curl_exec($this->curlHandler);
if(curl_errno($this->curlHandler) != 0) {
$msgErrorNo = "cURL Errornumber: ".curl_errno($this->curlHandler);
$msgError = "cURL Error: ".curl_error($this->curlHandler);
throw new RemoteException($url,$msgErrorNo." ".$msgError);
}
return $remote_answer;
}
Hey Stefan, könntest du bitte zeigen, wie das hier gemacht werden könnte: –
Was meinst du mit "hier"? Ich kann Ihnen zeigen, wie Sie mein Code-Snippet verwenden. – Odi
Okay ich sehe, du meinst deinen Beispielcode unten. Dies funktioniert sehr gut zur Anzeige Ihrer Daten. Wenn Sie jetzt Daten an Fusion Tables senden möchten, müssen Sie einen Webserver dazwischen verwenden, da Google (noch?) Keine direkte POST-Anfrage von JavaScript an ihre API zulässt. Richten Sie mein PHP-Skript auf Ihrem Webserver ein und senden Sie die POST-Anfrage an dieses Skript. In jQuery können Sie dazu $ .post (URL-zu-PHP-Skript, Success-Funktion) verwenden. – Odi