Я пытаюсь включить «oauth» для Reddit, и я следую инструкциям, приведенным здесь — https://github.com/reddit/reddit/wiki/OAuth2
Это все хорошо, пока мне не нужно сделать запрос на «access_token».
Документация говорит, что мне нужно сделать запрос POST на следующий URL
https://ssl.reddit.com/api/v1/access_token
Со следующим как POST DATA
grant_type=authorization_code&code=CODE&redirect_uri=URI
Это также говорит
You must supply your OAuth2 client's credentials via HTTP Basic Auth for this request. The "user" is the client_id, the "password" is the client_secret.
И я не уверен, что значит выше. Я пробовал несколько разных подходов, но я все еще получаю ошибку 401. Вот мой код «POST»
$data = array('client_id' => self::CLIENT_ID,
'client_secret' => self::CLIENT_SECRET,
'grant_type' => 'authorization_code',
'code' => $_GET['code'],
'redirect_uri' => $my_redirect_url);
$response = Requests::post(self::GET_OAUTH_TOKEN_URL, array(), $data);
есть идеи?
Вам необходимо дополнительно предоставить «авторизацияЗаголовок в этом формате:
«основной % Base_64_encoded_string%«
Эта базовая строка 64 начинается с «username: password» или в этом случае »ClientID: clientsecret«, а затем вы кодируете его. Таким образом, значение вашего заголовка авторизации будет выглядеть примерно так:
«Авторизация: базовая d2hhdCB1cCBob21leSBn«
Других решений пока нет …