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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

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