Авторизация MapMyFitness API не использует правильный обратный вызов
Я работал с MapMyFitness API
, У меня было это работает, и авторизация прошла гладко. В течение последних двух месяцев кажется, что что-то изменилось с моим кодом или с их API.
Во время запроса я делаю следующий звонок:
header("Location: http://api.mapmyfitness.com/3.1/oauth/authorize?oauth_token=123456789&oauth_callback=mysite.com/authorize.php);
Он правильно отправляет меня на сайт MapMyFitness для предоставления доступа. Я ввожу правильное имя пользователя и пароль, а затем он перенаправляет меня на:
http://api.mapmyfitness.com/3.1/oauth/mysite.com/authorize.php?oauth_token=123456789
Конечно, сайт и токен созданы для этого примера. Если я удалю первую часть и останусь с реальным обратным вызовом, mysite.com/authorize.php?oauth_token=123456789
он работает правильно.
Похоже, что MapMyFitness неправильно обрабатывает мой callback
и добавив его oauth url
,
Если я добавлю http://
на обратный вызов я получаю ошибку:
Unknown request token ""Array ( [oauth_token] =>
f36a684c04ef71d0a129dd59f5bbc1ed0514b4598 [oauth_callback] => SITE [PHPSESSID] =>
p284bpatpiuu78t0105qal4ql4 [fbsr_44829295357] => om1lyMi6U5iIyXqI3nfoWSBW5IoNV8skkJ-
fvW5qec8.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImNvZGUiOiJBUUFkSExOMkc0eWEtZk1NOF91WGtaNDhKMWN
DSmFQVnZEVm95RjZEdXRsNDVuYVRIUHNRdGxMRVhIQW9QSnJrNnhqWlZreTN6NzZCV1RTQWNaTXVTdl9HWEFNMDJkQ3p
1OE80dkhYT3lhUmdHVWl3bmdqcFF4SXYwQl9PUURNRlJzaG5wMDh2bjQ5UUI2S191ZHR5dXB5Z1dwbFNRdndqYTBiQ0h
IVExWN0ZialM5cnpjRGtnS0tVN2xyRVFXMVM2RTNkTzRQZHM1TnJjX0RrLVp3alEyRS0iLCJpc3N1ZWRfYXQiOjEzNjM
4ODQ3NTgsInVzZXJfaWQiOiIxMjcxODUyNTg0In0 [__utma] =>
252565653.331108727.1353966538.1363678118.1363880367.12 [__utmc] => 252565653 [__utmv] =>
252565653.|1=sex=M=1^2=age_group=35to44=1^3=membership=free=1^4=logged_in=is_logged_in=1
[__utmz] => 252565653.1363678118.11.4.utmcsr=mapmyrun.com|utmccn=
(referral)|utmcmd=referral|utmcct=/api/3.1/oauth/authorize
[mp_d4aec1d8aa5a6d2aebd49ec451910dea_mixpanel] => {"distinct_id": "13d37eedea042c-0033ca7c4-
376f6050-1aeaa0-13d37eedea1e62","$initial_referrer": "$direct","$initial_referring_domain":
"$direct","$search_engine": "google"} [optimizelyBuckets] => {} [optimizelySegments] =>
{"173102711":"safari","173022868":"false","172178767":"referral"} [__gads] =>
ID=2f74fc63a6725ad5:T=1362443034:S=ALNI_MblJOxnkm6q4rFDE8wihC_cUXHETQ [mmfsessid] =>
5a0f4259-05ae-4fe9-a45e-aa9f90afdfba [fbm_44829295357] => base_domain=.mapmyfitness.com
[optimizelyEndUserId] => oeu1353966536109r0.12621341994963586 )
2 ответа
Что произойдет, если вы добавите полный URL для вашего обратного вызова в начальном вызове? т.е.
oauth_callback=http://mysite.com/authorize.php
Попробуйте urlencoding ваш oauth_callback
значение, например:
http://api.mapmyfitness.com/3.1/oauth/authorize?oauth_callback=http%3A%2F%2Fmysite.com%2Fauthorize.php...