Автоматическая аутентификация Soundcloud PHP Api без взаимодействия с пользователем

В моем приложении я хочу использовать Soundcloud API с моим собственным пользователем Soundcloud. Процесс аутентификации Soundcloud API включает перенаправление пользователя на домашнюю страницу Soundcloud, авторизацию и авторизацию приложения, чтобы страница могла использовать API для этого пользователя.

Я хочу автоматизировать весь процесс, потому что мой собственный пользователь является единственным пользователем, который получает аутентификацию. Это возможно?

Вот мой код:

$soundcloud = new \Services_Soundcloud( '**', '**', 'http://**' ); $authorizeUrl = $soundcloud->getAuthorizeUrl(); $accessToken = $soundcloud->accessToken(); try { $me = json_decode($soundcloud->get('me'), true); } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { exit($e->getMessage()); } 

Но строка $accessToken = $soundcloud->accessToken(); выдает исключение:

 The requested URL responded with HTTP code 401. 500 Internal Server Error - Services_Soundcloud_Invalid_Http_Response_Code_Exception 

Related of "Автоматическая аутентификация Soundcloud PHP Api без взаимодействия с пользователем"

Я ищу то же самое, но в соответствии с api soundcloud (проверьте аутентификацию без параграфа экрана SoundCloud Connect ):

 // this example is not supported by the PHP SDK 

.. и не поддерживается Javascript.

Я попробовал auth с python:

 # create client object with app and user credentials client = soundcloud.Client(client_id='YOUR_CLIENT_ID', client_secret='YOUR_CLIENT_SECRET', username='YOUR_USERNAME', password='YOUR_PASSWORD') 

… затем загружающий метод python:

 # upload audio file track = client.post('/tracks', track={ 'title': 'This is my sound', 'asset_data': open('file.mp3', 'rb') }) 

и все работает отлично.

Итак, на данный момент у вас есть 2 способа:

  1. Используйте другой язык, Python или Ruby (только 2 sdk, которые действительно поддерживают эту функцию) или используйте небольшой скрипт python / ruby ​​в качестве моста для этой конкретной потребности;
  2. Добавьте этот funcionaliy в PHP SDK (я пытаюсь сделать это быстро, грязно, если я получаю успех, я поделюсь;)

Всем привет,

Здесь я собираюсь поделиться своим опытом с Soundcloud API (PHP)

См. Мой вопрос: Ссылка

 Recently I started to work with Sound cloud API (PHP) and I decided to use PHP API by https://github.com/mptre/php-soundcloud. But When I was trying to get access token from Sound cloud server by this code: 
 // Get access token try { $accessToken = $soundcloud->accessToken($_GET['code']); } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { exit($e->getMessage()); } 

Я проверил значение $ _GET ['code']. Но странно, что в $ _GET ['code' нет ничего пустого. Soundcloud возвращал ошибку «Запрошенный URL-адрес с ошибкой HTTP-кода 0». В то время я тестировал Soundcloud на WAMP Localhost.

Allot of Goggling Я нашел решение исправить ошибку «Запрошенный URL-адрес с кодом HTTP 0». Я загрузил файл cacert.pem и помещал его в нашу папку с демонстрационным проектом (внутри службы / Soundcloud /). Затем после того, как я добавил код в класс services_Soundcloud,

 function protected function _request($url, $curlOptions = array()). // My code in side function $curlPath = realpath(getcwd().'\Services\cacert.pem'); $curlSSLSertificate = str_replace("\\", DIRECTORY_SEPARATOR, $curlPath); curl_setopt($ch, CURLOPT_CAINFO, $curlSSLSertificate); 

Сохраненный файл класса services_Soundcloud и переместился на живой сервер. После переноса моего проекта с WAMP на сервер Live я начну проверять его снова. Когда я открываю свой index.php, я прошу войти в систему

введите описание изображения здесь

 I use my Facebook account to login. 

введите описание изображения здесь

 after login it was asking to connect with Soundcloud 

введите описание изображения здесь

после подключения все работает гладко, я получил мою информацию с

 $me = json_decode($soundcloud->get('me')); 

но возникает новая проблема, которая заключается в том, что мой токен доступа истекает снова и снова. Затем я использую сеанс: D

 // code for access token $code = $_GET['code']; // Get access token try { if(!isset($_SESSION['token'])){ $accessToken = $soundcloud->accessToken($code); $_SESSION['token'] = $accessToken['access_token']; }else{ $soundcloud->setAccessToken($_SESSION['token']); } } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { exit($e->getMessage()); } 

И теперь все работает потрясающе. я могу получить все мои данные, отслеживать все с сервера SC

Надеюсь, это поможет вам бороться с Soundcloud API Cheers !!!! 🙂