يمكن أن تتفاعل "برمجة تطبيقات 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 وإرسال بيانات الاعتماد مع طلباتك:
- بروتوكول OAuth1 لخدمة Apps Script: متوافق مع بروتوكول OAuth 1.0 و1.0a.
- OAuth2 لـ "برمجة التطبيقات": متوافق مع OAuth2.
العمل مع ملف 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.