كيفية حفظ البيانات في جدول بيانات Google غير شرعي باستخدام PHP بدون مكتبة Zend Gdata؟

StackOverflow https://stackoverflow.com/questions/1525502

  •  20-09-2019
  •  | 
  •  

سؤال

كيف يمكنني حفظ البيانات في جدول بيانات Google غير المنصوص عليه في php دون استخدام zend gdata libب لا يمكنني استخدام zend Libs، كما هو موضح في برامج تعليمية Google، لأن خادم PHP الذي أقوم بتشغيل البرنامج النصي هو PHP ضد 5.0.4وبعد حاولت أن أجد حلا باستخدام حليقة، لكنني لا أستطيع حذف المشكلة مع المصادقة عندما يكون الوثيقة غير شرعي. كيف يمكنني فعل ذلك؟ إذا حاول أي شخص، يرجى مشاركة الحل.

هل كانت مفيدة؟

المحلول

لقد اكتشفت الحل باستخدام حليقة وإنشاء نموذج لجدول جدول Google. لإعداد جدول البيانات، يجب عليك إنشاء نموذج، دون خيارات: تتطلب تسجيل الدخول لعرض هذا النموذج و جمع اسم المستخدم المستفتىوبعد ثم تحقق، واستخدام Fe Firebug، ونموذج نشر URI وبرز البيانات واستخدامه إلى البرنامج النصي التالي:

#prepare post data
$fields = array('backupCache' => '',
            'entry.0.single'=>urlencode($data['name']),
            'entry.1.single'=>urlencode($data['surname']),
            'pageNumber'=>urlencode(0),   
            'submit'=>'Submit');
$fields_string = '';

foreach($fields as $key=>$value) {
  $fields_string .= $key.'='.$value.'&';
}

rtrim($fields_string,"& ");
$fields_string = substr($fields_string, 0, strlen($fields_string)-1);

$ch = curl_init();
#set curl_setopt for your preferences
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);    
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);    

curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);

#set proper form uri
curl_setopt($ch, CURLOPT_URL, $formUri);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);

$res = curl_exec($ch);
curl_close($ch);

قد لا يكون الحل الأكثر مثالية ولكنه يعمل. :)

نصائح أخرى

فيما يلي فئة PHP الموجهة للكائنات لإرسال البيانات إلى جدول بيانات Google Docs - http://code.google.com/p/php-form-builder-class/source/browse/trunk/includes/class.spreadsheet.php؟ spec=svn384&r=384.

يتم استخدام حليقة بدلا من zend's gdata lib. يمكنك العثور على نموذج تنفيذ أدناه. تذكر أن تحل محل إعدادات الاختبار ("my_google_email"، "my_google_password"، إلخ) مع معلوماتك المحددة.

$doc = new spreadsheet();
$doc->authenticate("my_google_email", "my_google_password");
$doc->setSpreadsheet("my_spreadsheet_title");
$doc->setWorksheet("my_worksheet_title");
$my_data = array("First Name" => "John", "Last Name" => "Doe");
$doc->add($my_data);

تحتاج مفاتيح الصفيف المنشأ المرت إلى طريقة الإضافة إلى مطابقة رؤوس الأعمدة من جداول البيانات التي تستخدمها لجمع البيانات.

يمكنك الوصول إلى Apis GDATA باستخدام طلبات HTTP العادية؛ مكتبة تجعل هذا الأمر أسهل بالنسبة لك. أنت أساسا ينتهي فقط إعادة كتابة أجزاء المكتبة التي تريد استخدامها.

انظر وثائق البروتوكول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top