4

Postman と Charles を使用して、Smartsheet の GET 関数が機能するかどうかを確認しました。すべて問題なく、データ json 文字列が返されました。

ローカル コードと Google アプリ スクリプトの HTML ページから呼び出しを実行しようとしました。

しかし、Google アプリのスクリプト ページから次のエラーが表示されます。

「XMLHttpRequest はhttps://api.smartsheet.com/2.0/sheets/ MY SMART SHEET IDを読み込めません。プリフライト要求への応答がアクセス制御チェックに合格しません: 'Access-Control-Allow-Origin' ヘッダーが要求されたリソース。オリジン ' https://n-n662xy6uqbadudjpoghatx4igmurid667k365ni-script.googleusercontent.com ' へのアクセスは許可されていません。"

Smartsheet シートから Google シートを自動的に更新することが私の目標です。

私の Ajax リクエストは次のようになります。

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://api.smartsheet.com/2.0/sheets/SHEET_ID",
  "method": "GET",
  "headers": {
    "authorization": "Bearer MY_SECRET_ACCESS_TOKEN",
    "cache-control": "no-cache",
    "postman-token": "SOME_LONG_TOKEN"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});
4

2 に答える 2

0

Google Apps Script APIの外部 API の下で、

Google Apps Script は、ウェブ全体の API とやり取りできます。

公開 API への接続

Apps Script では、組み込みサービスまたは高度なサービスとして、多数の Google API を利用できます。Apps Script サービスとして利用できない Google (または Google 以外の) API を使用する場合は、URL Fetch サービスを介して API の公開 HTTP インターフェースに接続できます。

次の例では、YouTube API にリクエストを送信し、クエリに一致する動画のフィードを返しますskateboarding dog

var url = 'https://gdata.youtube.com/feeds/api/videos?'
+ 'q=skateboarding+dog'
+ '&start-index=21'
+ '&max-results=10'
+ '&v=2';
var response = UrlFetchApp.fetch(url);
Logger.log(response);

これは、 Google Apps スクリプトのコードを smartsheet api に接続する関連SO チケットです。

于 2016-04-11T07:08:03.020 に答える