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