EC-Cube 2에서 Campaign Monitor로 사용자 정보를 설정하는 상당한 시뮬레이션 방법

Campaign Monitor의 인증 단계는
2단계 일반 오옥스가 어떤 건지 몰라서!!사랑을 끊다.

1.코드를구해보자.


등록된 인증 애플리케이션의 비밀 코드 및
응용 프로그램 ID를 사용하여 인증 코드를 가져옵니다.
다음 코드를 실행해 보십시오.
URL 주소가 나와서 그걸 브라우저에 넣으면 인증 화면이 나와요.
auth.php

<?php
require_once 'vendor/autoload.php';
require_once 'csrest_general.php';
$apikey = 'd151b9fc27sjw9sdjaf2ws4b6d72bfdwsd90137b43374';
$client_id = "1ws5d5de46w9sioaf4d47a4w98";

### oauthアプリケーションを作成した時のclient_id (クライアントがもつIDとは違う)
$client_id = 104768;
### oauthアプリケーションを作成した時に決めたリダイレクト先を完全一致で記載
$redirect_uri = 'https://DOMAIN/campainmonitorAuth';
$scope = 'ViewReports,SendCampaigns,ImportSubscribers';
$state = 'some state data';

$authorize_url = CS_REST_General::authorize_url($client_id, $redirect_uri, $scope, $state);

echo $authorize_url;
?>

URL을 통해 인증 페이지로 이동, 인증 후
코드가 지정된 리디렉션 주소로 URL 매개 변수로 전송됨

*참고: 이미지 코드는 이미 가공되어 사용할 수 없습니다.

2. 리플렉스샵을 획득한다.


여기까지 얻은 코드 reflessh 사용하기토큰을 얻다.
다음 코드를 실행할 때 아래 그림과 같이 r.
refreshtoken.php
<?php
  require_once 'vendor/autoload.php';
  require_once 'csrest_general.php';
  $apikey = 'd151b9fc278ab5fb00479eb64b6d72bfdaf44da137b43374';

  $client_id = 104768;
  $client_secret = 'bf70x0WySxE80iQ0r0Uv0fCdR3ZPy0000LQZ00MJh0LV00cvB000ArDIQ00C04O0N0EK8O000E0rCRn0';
  $redirect_uri = 'https://konin-todoke.com/campainmonitorAuth';
  $code = 'ATcGtKxVnwxGtdsFIteiC+4yNA=='; #一回で切れてしまう有効期間を持っているようだ

  $result = CS_REST_General::exchange_token($client_id, $client_secret, $redirect_uri, $code);
  var_dump($result->was_successful());

  if($result->was_successful()) {
     echo $access_token = $result->response->access_token;
     echo $expires_in = $result->response->expires_in;
     echo $refresh_token = $result->response->refresh_token;
  }
?>


* 실행 화면
여기까지accesstoken과refresh-token 획득
이 정보를 사용하면 사용자를 추가할 수 있습니다.
ू• ̀ω•́ )한번 해봤어요.

3. 사용자를 추가해 보세요.


그 전에 얻은refreshtoken, access_token 사용
사용자 추가 처리를 실험해 봅시다.
순조롭다면 아래 그림처럼 사용자를 추가할 수 있습니다.
adduser.php

<?php
require_once 'vendor/autoload.php';
require_once 'csrest_subscribers.php';
$auth = array( 'access_token' => 'Ad9UwYjAIDpEosM1jS5RxhEyNA==', 'refresh_token' => 'Ac1PBKVYA/1Dpxwd2908WZEyNA==');

$wrap = new CS_REST_Subscribers('d2784de364208fc9c135136e8512625e', $auth);
$result = $wrap->add(array(
    'EmailAddress' => '[email protected]',
    'Name' => '斉藤さん',
    'CustomFields' => array(
        array( 'Key' => 'marridge', 'Value' => '2017.01.01' ),
        array( 'Key' => 'gendar',      'Value' => 'male'),
        array(  'Key' => 'age',            'Value' => '10'),
        array(  'Key' => 'buy',           'Value' => '0')
    ),
    'Resubscribe' => true
));
?>


여기에 목록에 주소가 추가되었는지 확인할 수 있습니다.
이 정보와 사용자 정의 필드의 Automation 기능을 사용했습니다.

4. 사용자를 삭제해 보십시오.


그 전에 얻은refreshtoken, access_token 사용
사용자의 처리를 삭제하는 것을 시험해 봅시다.


권한이 없을 때의 응답입니다.

object(stdClass)#6 (2) {
  ["Code"]=>
  int(60)
  ["Message"]=>
  string(63) "You do not have the required permission to access this resource"
}
OAuth 신청 시 권한이 없어서요.
다시 개량된 코드를 사용하여 인증 절차를 통해 해결한다.

영패


refreshtoken.php

<?php
  require_once 'vendor/autoload.php';
  require_once 'csrest_general.php';
  $auth = array( 'access_token' => 'Ad9UwYjAIDpEosM1jS5RxhEyNA==', 'refresh_token' => 'Ac1PBKVYA/1Dpxwd2908WZEyNA==');
  $wrap = new CS_REST_General($auth);

  $result = $wrap->get_clients();
  if (!$result->was_successful()) {
    if ($result->response->Code == 121) {
      list($new_access_token, $new_expires_in, $new_refresh_token) =
      $wrap->refresh_token();
      # Save $new_access_token, $new_expires_in, and $new_refresh_token
    }
    $result = $wrap->get_clients();
  }
?>

좋은 웹페이지 즐겨찾기