このトピックには多くの質問があるようですが、私の質問に答えるものはありません。私はサインアップ フォームを備えたシンプルな Web サイトを持っています。ユーザーがメールを入力すると、これを既にセットアップした Google スプレッドシートの新しい行としてプッシュしたいと考えています。ユーザーが認証したり、このスプレッドシートについて知りたくありません。Google API の使用を開始できるように認証するにはどうすればよいですか? コード/疑似コードをいただければ幸いです。私の質問に答えないいくつかの例を次に示します。
1437 次
2 に答える
2
Google スプレッドシートにアクセスするためのライブラリへのリンクは次のとおりです。
https://github.com/EastCloud/node-spreadsheets
注:このライブラリを実際に使用したことはありません
于 2011-07-07T02:42:33.427 に答える
0
PHP と Zend GData ライブラリを使用する必要があります。
フォームを PHP スクリプトに送信するときは、すべての変数を連想配列にまとめて、Zend_Gdata_Spreadsheets の insertRow メソッドに渡す必要があります。
この例が機能するには、スプレッドシートに列ヘッダーが含まれている必要があることに注意してください。たとえば、名/姓などです。スクリプトでこれらの列ヘッダーを対象とする場合、すべて小文字でスペースを削除する必要があることに注意してください。これは、スプレッドシートが期待する方法であるためです。
PHP スクリプトの基本的な例を次に示します。
<?php
$errors = array(); // use this to create an associative array to json encode and send back any errors
$rowData = array(); // this will be the associative array that gets passed to the insertRow method
$firstName = $_POST['firstName'];
if(isset($firstName)){
$rowData['firstname'] = $firstName; // note the key 'firstname' must equal the column header in your spreadsheet which you are inserting the value into. the column header name key should be all lowercase and not contain spaces regardless of if you have it in the spreadsheet
}else{
$errors['firstname'] = '1';
}
$lastName = $_POST['lastName'];
if(isset($lastName)){
$rowData['lastname'] = $lastName; // note the key 'lastname' must equal the column header in your spreadsheet which you are inserting the value into. the column header name key should be all lowercase and not contain spaces regardless of if you have it in the spreadsheet
}else{
$errors['lastname'] = '1';
}
set_include_path($_SERVER['DOCUMENT_ROOT'] . '/library/');
$spreadsheetKey = 'your-spreadsheet-key';
$worksheetId = 'your-worksheet-id'; // if you only have one worksheet this will be 'od6'
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
$user = "your-user-name-at-gmail-dot-com";
$pass = "your-password";
$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($spreadsheetKey);
$feed = $spreadsheetService->getWorksheetFeed($query);
global $spreadsheetService,$spreadsheetKey,$worksheetId,$rowData;
$insertedListEntry=$spreadsheetService->insertRow($rowData,$spreadsheetKey,$worksheetId);
$returnObject['success'] = 'true';
echo(json_encode($returnObject));
?>
これがうまくいくかどうか教えてください。
于 2011-08-25T15:43:17.070 に答える