يمكن أن تتفاعل "برمجة تطبيقات Google" مع واجهات برمجة التطبيقات من جميع أنحاء الويب. يوضح هذا الدليل كيفية العمل مع أنواع مختلفة من واجهات برمجة التطبيقات في نصوصك البرمجية.
الاتصال بواجهات برمجة التطبيقات العامة
يمكنك استخدام خدمة UrlFetch
لتقديم
طلبات البيانات من واجهة برمجة التطبيقات مباشرةً.
يستخدم المثال التالي GitHub API للبحث عن مستودعات تضم 100 نجمة أو أكثر تتضمّن "برمجة تطبيقات Google". لا يتطلب طلب واجهة برمجة التطبيقات هذا إذنًا أو مفتاح واجهة برمجة تطبيقات.
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 لبرمجة التطبيقات: يتوافق مع 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 لإرساله باستخدام طرق 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.