واجهات برمجة التطبيقات الخارجية

يمكن أن تتفاعل "برمجة تطبيقات Google" مع واجهات برمجة التطبيقات من جميع أنحاء الويب. يوضّح هذا الدليل كيفية استخدام أنواع مختلفة من واجهات برمجة التطبيقات في النصوص البرمجية.

الاتصال بواجهات برمجة التطبيقات العامة

يمكنك استخدام خدمة UrlFetch لتقديم طلبات إلى واجهة برمجة التطبيقات مباشرةً.

يستخدم المثال التالي GitHub API للبحث عن مستودعات تحتوي على 100 نجمة أو أكثر وتتضمّن الإشارة إلى "Apps Script". لا يتطلّب طلب البيانات من واجهة برمجة التطبيقات هذا الحصول على إذن أو مفتاح واجهة برمجة تطبيقات.

var query = '"Apps Script" stars:">=100"'; var url = 'https://api.github.com/search/repositories'   + '?sort=stars'   + '&q=' + encodeURIComponent(query);  var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true}); Logger.log(response); 

إرسال طلبات إلى الخدمات باستخدام OAuth

تتطلّب واجهات برمجة التطبيقات التي تعمل بالنيابة عن المستخدم عادةً الحصول على إذن، وغالبًا ما يتم ذلك باستخدام بروتوكول OAuth. لا توفّر "برمجة تطبيقات Google" دعمًا مدمجًا للبروتوكول، ولكن تتوفّر مكتبات مفتوحة المصدر يمكنك استخدامها لتنفيذ عملية OAuth وإرسال بيانات الاعتماد مع طلباتك:

التعامل مع JSON

إنّ التعامل مع عناصر JSON يشبه التعامل مع XML، إلا أنّ تحليل عنصر JSON أو ترميزه أسهل بكثير.

إذا كانت واجهة برمجة التطبيقات المطلوبة تعرض استجابة JSON أولية لطلب ما، يمكن الوصول إلى استجابة سلسلة JSON باستخدام الطريقة HTTPResponse.getContentText(). بعد استرداد هذه السلسلة، ما عليك سوى استدعاء JSON.parse() على السلسلة للحصول على تمثيل كائن أصلي.

// Make request to API and get response before this point. var json = response.getContentText(); var data = JSON.parse(json); Logger.log(data.title); 

وبالمثل، لإنشاء تمثيل سلسلة نصية لكائن JavaScript من أجل تقديم طلب، استخدِم JSON.stringify().

var data = {   'entry': {     'group': {       'title': 'Dog Skateboarding',       'description': 'My dog gets some serious air'     },     'keywords': 'dog, skateboard'   } } var payload = JSON.stringify(data); // Make request to API with payload after this point. 

تحليل XML

إذا كانت واجهة برمجة تطبيقات خارجية تعرض استجابة XML أولية لطلب، يمكنك الوصول إلى استجابة XML باستخدام الطريقة HTTPResponse.getContentText().

// Make request to API and get response before this point. var xml = response.getContentText(); var doc = XmlService.parse(xml); 

عند إرسال طلبات XML إلى واجهة برمجة تطبيقات، أنشئ XML لإرساله باستخدام طرق XmlService.

var root = XmlService.createElement('entry')     .setAttribute('keywords', 'dog, skateboard'); var group = XmlService.createElement('group')     .setAttribute('title', 'Dog Skateboarding');     .setAttribute('description', 'My dog gets some serious air'); root.addContent(group); var document = XmlService.createDocument(root); var payload = XmlService.getPrettyFormat().format(document); // Make request to API with payload after this point.