Как мне закодировать или декодировать свой URL-адрес при перенаправлении обратно на мой сайт с Facebook, когда мы FbConnPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как мне закодировать или декодировать свой URL-адрес при перенаправлении обратно на мой сайт с Facebook, когда мы FbConn

Сообщение Anonymous »

Это был я, хотя с тех пор, как я пытаюсь решить эту проблему, я уже задавал ее здесь, но не получил никакого ответа, я гуглил свою проблему во всех смыслах, но никак не мог этого сделать.
Мне просто нужно знать, как я могу получить действительный URL-адрес, когда отправляю в Facebook свой URL-адрес. Я хочу, чтобы FaceBook перенаправил моего пользователя обратно: site_url('main/verification') (я работаю с codeIgniter)

поэтому мой URL-адрес входа выглядит так:

Код: Выделить всё

https://www.facebook.com/dialog/oauth?client_id=248650435198175.&.redirect_uri=http%.3A%.2F%.2Flocalhost%.2FSocialCart%.2Findex.php%.3F%.2Fmain%.2Fverification&state=004dc1ebe9e081b2222408434af7dbd5&scope=email
(УДАЛИТЬ ВСЕ ПУНКТЫ ПОСЛЕ ВСЕХ %)

Как только я нажимаю на ссылку, я перехожу в FaceBook, но затем меня перенаправляют на мою главную страницу (а не на главную/проверочную) с этим URL-адресом в моем браузере:

Код: Выделить всё

http://localhost/SocialCart/index.php?%.2.Fmain%.2.Fverification&state=0e3ae6ca3e7869f618d65ad&code=AQCwwZUevy-SfeNLgUC55Rg0bi7noi_oczwt_2TmR-DobC8xc6STYIW82VLi23fzf9d-J5tdufdOLpc#_=_
Ну, я удалил часть этого длинного кода, но вы видите, что после моего index.php? вместо этого я получаю %.2.F / и & должно быть ? (Я думаю)

(удалите точки «.» между каждым %2 и 2F)

Как можно Я исправлю это, пожалуйста? ПОЧЕМУ мой redirectUrl декодируется моим браузером лишь частично? кажется, что он декодируется до тех пор, пока index.php, а затем перестает заменять все "%.2F" на "/" (опять же нет смысла после %)
Думаю, мне понадобится переписать URL-адрес или urlencode(), но дело в том, что хорошо интерпретируется только половина URL-адреса, а не остальная часть. Я правда не знаю, что делать..

Думаю, мне нужно проверить функцию getLoginUrl(), это функция, которая отвечает за получение части URL-адреса входа, который перенаправляет пользователя с Facebook на мой веб-сайт, если URL-адрес хорошо закодирован, но я все перепробовал, и ничего не работает.

Вот функция ( который вы можете найти в любом base_facebook.php графа php API.) :

Код: Выделить всё

  /**
* Get a Login URL for use with redirects. By default, full page redirect is
* assumed. If you are using the generated URL with a window.open() call in
* JavaScript, you can pass in display=popup as part of the $params.
*
* The parameters:
* - redirect_uri: the url to go to after a successful login
* - scope: comma separated list of requested extended perms
*
* @param array $params Provide custom parameters
* @return string The URL for the login flow
*/
public function getLoginUrl($params=array()) {
$this->establishCSRFTokenState();
$currentUrl = $this->getCurrentUrl();

// if 'scope' is passed as an array, convert to comma separated list
$scopeParams = isset($params['scope']) ? $params['scope'] : null;
if ($scopeParams && is_array($scopeParams)) {
$params['scope'] = implode(',', $scopeParams);
}

return $this->getUrl(
'www',
'dialog/oauth',
array_merge(array(
'client_id' => $this->getAppId(),
'redirect_uri' => site_url(), // possibly overwritten
'state' => $this->state),
$params));
}
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/922 ... acebook-wi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»