Spotify авторизация api и подписаться на mailchimp - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь заставить людей авторизоваться с помощью spotify, а затем подписать их электронную почту на список Mailchimp.

У меня есть две части кода, которые мне нужно связать вместе:

  1. Авторизация spotify (которая работает, поскольку я могу заставить их следовать за пользователем)

          if($_SESSION['accessToken']){
    
          require 'vendor/autoload.php';
          $api = new SpotifyWebAPI\SpotifyWebAPI();
          $api->setAccessToken($_SESSION['accessToken']);
          $following = $api->followArtistsOrUsers('artist', '####');
          $me = $api->me();
          echo $me->email;
    

    В конце я получаю адреса электронной почты пользователей с этим фрагментом кода, который должен быть правильным:

$me = $api->me(); echo $me->email;

Второй фрагмент кода - подписка на mailchimp

  1. mailchimp подписаться:

это работает, я могу подписаться testmail@test.com на правильный список.

<?php 
          $email = 'testmail@test.com';
          $list_id = '#####';
          $api_key = '####';

          $data_center = substr($api_key,strpos($api_key,'-')+1);

          $url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members';

          $json = json_encode([
              'email_address' => $email,
              'status'        => 'subscribed', //pass 'subscribed' or 'pending'
          ]);

          $ch = curl_init($url);
          curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $api_key);
          curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_TIMEOUT, 10);
          curl_setopt($ch, CURLOPT_POST, 1);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
          curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
          $result = curl_exec($ch);
          $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
          curl_close($ch);
          echo $status_code;
      }
   ?>

Однако я не могу подписаться на электронную почту, полученную из spotify, на mailchimplist, используя Я попробовал:

if($_SESSION['accessToken']){      
require 'vendor/autoload.php';
      $api = new SpotifyWebAPI\SpotifyWebAPI();
      $api->setAccessToken($_SESSION['accessToken']);
      $following = $api->followArtistsOrUsers('artist', '####');
      $me = $api->me();
      echo $me->email;
$email = $me->email;
          $list_id = '#####';
          $api_key = '####';

и т.д.. и т.д.

Вы, ребята, можете мне помочь?

Спасибо! Sidenote: я только начинаю с кода, извините за уровень новичка:)

...