سؤال

أنا أعمل على تطبيق Android يستخدم GDATA-Java-Client لتنزيل المستندات للعرض فقط. لديّ حتى الآن تطبيقًا يصادق مع الخدمات ويعرض قائمة مستندات المستخدم. عندما يحدد المستخدم مستندًا ، يتم إجراء استعلام آخر للمستندات نفسها. يعمل طلب ملفات TXT و HTML و RTF و DOC بشكل جيد ، ولكن عندما أطلب جدول بيانات في تنسيق .CSV أو .XSL ، تكون النتيجة غير متوقعة.

أنا أستخدم كائن httpresponse لتخزين نتيجة httprequest. عندما أطلب مستندًا في تنسيق .csv أو .xsl ، فإن طريقة httpresponse.parseasstring () تنتج صفحة HTML بأكملها والتي يبدو أنها الصفحة الرئيسية لمستندات مستندات Google. تبدو غريبة ، ولكن النتيجة هي HTML الفعلية لصفحة تسجيل الدخول. HTTPRESPONSE.GETSTATUSMESSAGE يعيد 200.

يبدو أنني أفتقد شيئًا بسيطًا هنا. هل هناك خاصية أخرى للاستجابة httprespons التي تحتوي على بيانات .CSV؟

أنا متأكد من أنني أستخدم URI الصحيح لتنزيل جداول البيانات لأنه يعمل عندما أقوم بالتنزيل من خلال متصفحي. في أي حال ، يوجد مثال أوري:

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv

شكرا مقدما على أي مساعدة :)

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

المحلول

لست على دراية بما يكفي مع API قائمة المستندات التي يجب معرفتها ، ولكن من وصفك يبدو أنك قد واجهت خطأ في واجهة برمجة تطبيقات قائمة المستندات ، ويبدو لي مثل مشكلة مهمة لإصلاحها.

يرجى الإبلاغ عن مشكلتك في منتدى قائمة الوثائق في قائمة API لزيادة فرصة أن يكون هناك شخص ما على دراية يمكن أن يتمكن من النظر في هذه المشكلة:

http://www.google.com/support/forum/p/apps-apis/label؟lid=5c316c702e844c99&hl=en

نصائح أخرى

لم أر الرمز الخاص بك ، ولكن بالتأكيد المشكلة هي أنك تستخدم ClientLogin ، ويتم مصادقةها في واجهة برمجة تطبيقات قائمة المستندات باستخدام خدمة "الكتاب". ومع ذلك ، نظرًا لأن تصدير جدول بيانات سيضرب جداول البيانات. google.com ، ستحتاج إلى استخدام ClientLogin للمصادقة مقابل الخدمة "الحكيم". من جافا ، هذا يعني استخدام مكتبة عميل جافا جداول ، والتي تم توثيقها هنا:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#downloadingspreadsheets

لاحظ الملاحظة المسمى "الأهميةفي الجزء العلوي هناك ، والذي يرتبط هنا:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#downloadingspreadsheetsclientlogin

في هذا الرابط ، يتم تفصيل استخدام مثيل جدول البيانات.

حظا طيبا وفقك الله :)

إنه عام 2017 ، وهناك طريقة جديدة تمامًا لفعل الأشياء الآن. أصبحت الآن GDATA و GDATA واجهات برمجة التطبيقات مثل قائمة API و ClientLogin و DRIVE تنزيل كلها قديمة الآن. يوجد في مكانهم واجهة برمجة تطبيقات محرك الأقراص ، واجهة برمجة تطبيقات الأوراق ، وطريقة أكثر أصلية للاندماج مع تقنيات Google من تطبيقات Android: مكتبة عميل واجهات برمجة تطبيقات Google لنظام Android. هناك أيضا مكتبة عميل واجهات برمجة تطبيقات Google لـ Java إذا كنت تفعل جانب الخادم بدلاً من ذلك.

إذا كنت تريد الأداء وثيقة-العمليات الموجهة على جداول البيانات ، كنت تستخدم Google Sheets API والقيام بذلك باستخدام مكتبة العميل أعلاه. الآن لبعض الأمثلة ... ها هي نموذج رمز QuickStart Android وكذلك أكثر عمومية عينة رمز Java QuickStart لصفائح API. لا يمكن أن تؤذي لتمرير على طول مرجع Javadocs لـ Sheets API أيضاً. يوفر أحدث صفائح واجهة برمجة تطبيقات الميزات غير المتوفرة في الإصدارات القديمة ، وهي منح المطورين وصولًا برنامجيًا موجهًا للوثائق إلى ورقة كما لو كنت تستخدم واجهة المستخدم (قم بإنشاء صفوف مجمدة ، وأداء تنسيق الخلايا ، وتغيير حجم الصفوف/الأعمدة ، وإضافة جداول محورية ، وإنشاء ، إنشاء. المخططات ، وما إلى ذلك)

ومع ذلك ، لأداء ملف-الوصول إلى المستوى ، كما هو الحال في سؤال البروتوكول الاختياري ، كنت تستخدم Google Drive API. هناك حتى أ واجهة برمجة تطبيقات Google Drive لنظام Android, ، بما في ذلك صفحة المستندات على وجه التحديد على استرداد محتويات المستندات. إذا كنت جديدًا في هذه المكتبة ، فإليك محرك API Android QuickStart Sample App إلى جانب عينات رمز أخرى لتبدأ. ها هي محرك واجهة برمجة التطبيقات لمستندات مرجعية فئة Android جدا.

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