OAuth 기반의 API를 사용한 Multi-Action의 실행

Postman 기반 SAC API 테스트
Nov 11, 2025
OAuth 기반의 API를 사용한 Multi-Action의 실행

SAP Analytics Cloud는 OAuth 기반의 API를 사용하여 다양한 SAC 기능을 외부 시스템에서 연계하여 사용할 수 있도록 제공하고 있습니다. 그 가운데 Planning의 필수 기능인 Multi-Action을 실행하는 방법을 Postman을 통해 테스트해보겠습니다.

1. Multi Action의 API 호출 주소와 파라미터 확인

Multi Action 편집 화면에서 상단의 톱니바퀴 버튼을 클릭한 다음, Settings 화면에서 Allow External API Access를 체크한 다음 저장합니다. Show Detail을 클릭하여, Starter API URL을 확인합니다.

테스트 대상 Multi Action API URL 주소는 아래와 같습니다.
https://****/api/v1/multiActions/t.MSXBWY:4A2CFD0AB44D2FC193F5531BBC224130/executions

2. 관리자 메뉴 App Integration 에서 OAuth 클라이언트 관련 URL 정보를 확인합니다.

Authrization URL

https://****/oauth/authorize

Token URL

https://****/oauth/token

3. OAuth Client 정보를 신규로 생성합니다. 이 때 목적은 Interactive Usage를 사용합니다.
Secret 정보는 최초 저장 시에만 복사 가능하므로 반드시 복사하여 저장하도록 합니다
Postman에서 테스트하기 편하도록 Redirect URI를 아래와 같이 지정합니다.

https://getpostman.com/oauth2/callback

4. Postman에서 신규 Request를 추가하고 1의 URL을 등록합니다.

5. Authorization 탭에서 OAuth 클라이언트 정보를 입력하고 토큰을 생성합니다.
Auth Type : OAuth 2.0, Request URL

Grant type : Authorization Code
URL은 2번에서 확인한 SAC URL을 입력합니다.

Client ID, 시크릿 정보도 3번에서 생성한 정보를 입력합니다.

Client Authentication: Send client credentials in body

6. Get New Access Token 버튼을 클릭하여 토큰을 받아서 사용합니다.

7. Scripts 탭에서 Pre-request 이벤트에 실행될 x-csrf-token 받아오기 스크립트를 입력합니다.

console.log('Pre-request Script from Request start');

 

// We don't need to do anything if it's GET or x-csrf-token header is explicitly presented

if (pm.request.method !== 'GET' && !(pm.request.headers.has('x-csrf-token'))) {

 

console.log(pm.request.headers);

 

  var csrfRequest = pm.request.clone();

  csrfRequest.method = 'GET';

  if (pm.request.method === 'POST') {

    // for POST method usually it is ....<something>Collection in the URL

    // so we add $top=1 just to quickly get csrf token;

    // for PUT, PATCH or DELETE the same URL would be enough,

    // because it points to the actual entity

    csrfRequest.url = 'https://aspn-co-ltd.jp10.sapanalytics.cloud/api/v1/csrf';

    console.log(csrfRequest.url);

  }

 

  csrfRequest.upsertHeader({

    key: 'x-csrf-token',

    value: 'fetch'

  });

 

 

 

  pm.sendRequest(csrfRequest, function(err, res) {

    console.log('pm.sendRequest start');

    if (err) {

      console.log(err);

    } else {

      console.log('here');

      var csrfToken = res.headers.get('x-csrf-token');

      if (csrfToken) {

        console.log('csrfToken fetched:' + csrfToken);

        pm.request.headers.upsert({

          key: 'x-csrf-token',

          value: csrfToken

        });

      } else {

        console.log('No csrf token fetched');

      }

    }

    console.log('pm.sendRequest end');

  });

}

 

console.log('Pre-request Script from Request end');

8. Body 탭에서 raw – JSON 구문으로 Multi Action의 실행 파라미터를 입력합니다.

{

    "parameterValues": [

        {

        "parameterId": "TargetVersion",

        "value": {

          "memberIds": [

            "public.Plan"

          ],

          "hierarchyId": null

        }

        }

    ]

}

9. 실행결과 code: 200으로 정상 실행 확인되면, 해당 API 실행 ID가 리턴되며, 이를 기반으로 실행 결과를 리턴해주는 추가 Request를 수행할 수도 있습니다.

10. 아래와 같이 SAC System – Job Monitor 를 통해 외부 API 실행 결과를 확인할 수 있습니다.

Share article

SAP 컨설팅 & ITO 서비스