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

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

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

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

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

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. لا توفر "برمجة التطبيقات" دعمًا مضمَّنًا للبروتوكول، ولكن هناك مكتبات مفتوحة المصدر يمكنك استخدامها لتنفيذ مسار 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);

وبالمثل، يمكنك استخدام JSON.stringify() لتقديم تمثيل سلسلة لكائن JavaScript لتقديم طلب.

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.