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

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