[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прямая авторизация Вконтакте
VeRTak
Всем привет.

Посылаю запрос прям в браузере


https://oauth.vk.com/token?grant_type=password&client_id=***&client_secret=***& ;username=***&password=***&v=5.64


В ответ что все хорошо


{"access_token":"***","expires_in":*,"user_id":***}


Посылаю с сервера на php, тоже все отлично. Пытаюсь послать с консоли разными способами например

$.ajax({
url: 'https://oauth.vk.com/token?grant_type=password&client_id=***&client_secret=***&am p;am p;am p;username=***&password=***&v=5.64',
type: 'get',
dataType: 'JSONP'
}).done((function(result){console.log(result)}))


В ответ получаю

Uncaught SyntaxError: Unexpected token :


Во вкладке Sources вижу нормальный свой access_token.

Что не так?
SlavaFr
А если без dataType: 'JSONP' послать ?


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
VeRTak
Цитата (SlavaFr @ 27.06.2017 - 16:06)
А если без dataType: 'JSONP' послать ?


Пробовал просто через get.

Главное в чем суть, я в брузере прохожу авторизацию получаю свой токен, который действует сутки. Делаю остальные действия, они выполняются нормально там добавить в друзья, вступить в сообщество, все это проходит нормально, но в консоль приходит ответ с ошибками типа таких. Но действия выполняются
VeRTak
Вопрос следующий, решения я так и не нашел. Пошел другим путем, прохожу авторизацию на своей сервере получаю их ответ и пытаюсь через консоль послать запрос и получить ответ


.ajax({
url: "https://site.loc/?callback=callbackName",
type:"get",
dataType: "jsonp",
success: function callbackName (data) {
console.log(data)
}
}
);


В ответ ничего вообще не получаю. Но однако во вкладе network и там в preview и response получаю ответ нормальный, однако в консоле ничего.
killer8080
Цитата (VeRTak @ 27.06.2017 - 11:16)
dataType: 'JSONP'

Цитата (VeRTak @ 27.06.2017 - 11:16)
В ответ получаю

Uncaught SyntaxError: Unexpected token :

естественно, сервер же отвечает в json формате, причём тут jsonp вообще?
VeRTak
Цитата (killer8080 @ 28.06.2017 - 21:35)
естественно, сервер же отвечает в json формате, причём тут jsonp вообще?


Дэк домен другой
VeRTak
killer8080 Я вот пока во всем этом разбираюсь, перегуглил много, но пока не понимаю unsure.gif
VeRTak
Разобрался. Немного параметры перепутал. Спасибо.


$.ajax({
url: "https://site.loc/?callback=callbackName",
type:"get",
dataType: "json",
crossDomain: true,
success: function callbackName (data) {
console.log(data)
}
}
);

В консоле
XMLHttpRequest cannot load https://site.loc/?callback=callbackName. No 'Access-Control-Allow-Origin' header is present on the requested resource.

Но ответ в network так же приходит
VeRTak
Всем спасибо добавил header все заработало
killer8080
VeRTak
а зачем тебе понадобилась получать токен аяксом? Этот апи не предназначен для аякса, потому в нем и Access-Control-Allow-Origin отсутствует.
VeRTak
Цитата (killer8080 @ 28.06.2017 - 22:19)
а зачем тебе понадобилась получать токен аяксом?

Сначала хотел аяксом, сейчас через php получаю. потом передаю уже токен аяксом.
killer8080
Цитата (VeRTak @ 28.06.2017 - 22:23)
Сначала хотел аяксом, сейчас через php получаю. потом передаю уже токен аяксом.

да это я понял, не понятно зачем нужно переносить логику на фронтенд? Можно же было все реализовать в приложении, или тут какой то особый замысел и только на клиенте можно сделать?
VeRTak
Цитата (killer8080 @ 28.06.2017 - 22:27)
клиенте можно сделать


именно. Сначала авторизация проходит через курл на сайте. потом уже выполняю действия по api вк. Но именно эту начальную авторизацию через curl мне не удалось реализовать. К тому же погулилив над данным вопросом, понял такую вещь, что рано или поздно заблокируют различными способами
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.