با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Google Apps Script میتواند با APIها از سراسر وب تعامل داشته باشد. این راهنما نشان می دهد که چگونه با انواع مختلف API در اسکریپت های خود کار کنید.
به APIهای عمومی متصل شوید
می توانید از سرویس UrlFetch برای درخواست مستقیم API استفاده کنید.
مثال زیر از GitHub API برای جستجوی مخازن با 100 یا بیشتر ستاره استفاده می کند که "Apps Script" را ذکر کرده اند. این درخواست API نیازی به مجوز یا کلید API ندارد.
APIهایی که از طرف یک کاربر عمل می کنند معمولاً به مجوز نیاز دارند که اغلب از پروتکل OAuth استفاده می کنند. Apps Script پشتیبانی داخلی از پروتکل ارائه نمیکند، اما کتابخانههای منبع باز وجود دارد که میتوانید از آنها برای انجام جریان OAuth و ارسال اعتبارنامهها با درخواستهای خود استفاده کنید:
کار با اشیاء JSON مشابه کار با XML است، با این تفاوت که تجزیه یا رمزگذاری یک شی JSON بسیار آسان تر است.
اگر API درخواست شده یک پاسخ JSON خام را برای یک درخواست برمی گرداند، پاسخ رشته JSON را می توان با استفاده از روش HTTPResponse.getContentText() مشاهده کرد. هنگامی که این رشته بازیابی شد، به سادگی JSON.parse() در رشته فراخوانی کنید تا یک نمایش شی بومی دریافت کنید.
به همین ترتیب، برای ایجاد یک نمایش رشته ای از یک شی جاوا اسکریپت به منظور ایجاد یک درخواست، از JSON.stringify() استفاده کنید.
vardata={'entry':{'group':{'title':'Dog Skateboarding','description':'My dog gets some serious air'},'keywords':'dog, skateboard'}}varpayload=JSON.stringify(data);//MakerequesttoAPIwithpayloadafterthispoint.
XML را تجزیه کنید
اگر یک API خارجی یک پاسخ XML خام را برای یک درخواست برمی گرداند، می توانید با استفاده از روش HTTPResponse.getContentText() به پاسخ XML دسترسی پیدا کنید.
هنگام ایجاد درخواست های XML به یک API، XML را برای ارسال با استفاده از روش های XmlService بسازید.
varroot=XmlService.createElement('entry').setAttribute('keywords','dog, skateboard');vargroup=XmlService.createElement('group').setAttribute('title','Dog Skateboarding');.setAttribute('description','My dog gets some serious air');root.addContent(group);vardocument=XmlService.createDocument(root);varpayload=XmlService.getPrettyFormat().format(document);//MakerequesttoAPIwithpayloadafterthispoint.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eGoogle Apps Script enables interaction with various web APIs using the \u003ccode\u003eUrlFetch\u003c/code\u003e service for direct API requests.\u003c/p\u003e\n"],["\u003cp\u003eFor user-centric APIs requiring authorization, utilize open-source libraries like OAuth1 or OAuth2 for Apps Script to manage the OAuth flow.\u003c/p\u003e\n"],["\u003cp\u003eApps Script simplifies working with JSON responses through \u003ccode\u003eJSON.parse()\u003c/code\u003e for converting raw JSON into native objects and \u003ccode\u003eJSON.stringify()\u003c/code\u003e for the reverse.\u003c/p\u003e\n"],["\u003cp\u003eHandle XML responses from APIs using \u003ccode\u003eHTTPResponse.getContentText()\u003c/code\u003e and the \u003ccode\u003eXmlService\u003c/code\u003e for parsing and constructing XML data.\u003c/p\u003e\n"]]],[],null,["# External APIs\n\nGoogle Apps Script can interact with APIs from all over the web. This guide\nshows how to work with different types of APIs in your scripts.\n\nConnect to public APIs\n----------------------\n\nYou can use the [`UrlFetch`](/apps-script/reference/url-fetch) service to make\nAPI requests directly.\n\nThe following example uses the\n[GitHub API](https://developer.github.com/v3/search/#search-repositories) to\nsearch for repositories with 100 or more stars that mention \"Apps Script\".\nThis API request does not require authorization or an API key. \n\n var query = '\"Apps Script\" stars:\"\u003e=100\"';\n var url = 'https://api.github.com/search/repositories'\n + '?sort=stars'\n + '&q=' + encodeURIComponent(query);\n\n var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});\n Logger.log(response);\n\nMake requests to services with OAuth\n------------------------------------\n\nAPIs that act on behalf of a user usually require authorization, often using the\n[OAuth protocol](http://oauth.net/). Apps Script doesn't provide built-in\nsupport for the protocol, but there are open source libraries you can use to\nperform the OAuth flow and send the credentials with your requests:\n\n- [OAuth1 for Apps Script](https://github.com/googlesamples/apps-script-oauth1): Compatible with OAuth 1.0 and 1.0a.\n- [OAuth2 for Apps Script](https://github.com/googlesamples/apps-script-oauth2): Compatible with OAuth2.\n\nWork with JSON\n--------------\n\nWorking with JSON objects is similar to working with XML, except that parsing or\nencoding a JSON object is much easier.\n\nIf the API being requested returns a raw JSON response for a request, the JSON\nstring response can be accessed using the method\n[`HTTPResponse.getContentText()`](/apps-script/reference/url-fetch/http-response#getContentText()).\nOnce this string is retrieved, simply call `JSON.parse()` on the string to get a\nnative object representation. \n\n // Make request to API and get response before this point.\n var json = response.getContentText();\n var data = JSON.parse(json);\n Logger.log(data.title);\n\nLikewise, to make a string representation of a JavaScript object in order to\nmake a request, use `JSON.stringify()`. \n\n var data = {\n 'entry': {\n 'group': {\n 'title': 'Dog Skateboarding',\n 'description': 'My dog gets some serious air'\n },\n 'keywords': 'dog, skateboard'\n }\n }\n var payload = JSON.stringify(data);\n // Make request to API with payload after this point.\n\nParse XML\n---------\n\nIf an external API returns a raw XML response for a request, you can access the\nXML response using the method\n[`HTTPResponse.getContentText()`](/apps-script/reference/url-fetch/http-response#getContentText()). \n\n // Make request to API and get response before this point.\n var xml = response.getContentText();\n var doc = XmlService.parse(xml);\n\nWhen making XML requests to an API, construct the XML to send by using\nthe [`XmlService`](/apps-script/reference/xml-service/xml-service) methods. \n\n var root = XmlService.createElement('entry')\n .setAttribute('keywords', 'dog, skateboard');\n var group = XmlService.createElement('group')\n .setAttribute('title', 'Dog Skateboarding');\n .setAttribute('description', 'My dog gets some serious air');\n root.addContent(group);\n var document = XmlService.createDocument(root);\n var payload = XmlService.getPrettyFormat().format(document);\n // Make request to API with payload after this point."]]