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

يمكن لبرمجة تطبيقات 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);

وبالمثل، يمكنك استخدام 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 المطلوب إرساله باستخدام methods 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.