2013-12-11 12 views
0

Я пытаюсь отправить уведомление одному из моих пользователей, но у меня есть ошибкаУведомления API с PHP SDK - Invalid доступа OAuth маркер подписи

[error] => Array 
      (
       [message] => Invalid OAuth access token signature. 
       [type] => OAuthException 
       [code] => 190 
      ) 

Я использую этот код:

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
      "client_id=" . APP_KEY . 
      "&client_secret=" . APP_SECRET . 
      "&grant_type=client_credentials"; 

$app_token = file_get_contents($token_url); 

$params = array(
    'href' => APP_URL, 
    'access_token' => $app_token, 
    'template' => 'ble ble ble'   
); 

$result = $facebook->api('/me/notifications/', 'post', $params); 

$ app_token return -> access_token = 273347866145980 | gIdxLQBHtPEHPf1Bjnw2MtnOqfA

Что я делаю неправильно?

Возможно, кто-то знает решение?

ответ

2

access_token=273347866145980|gIdxLQBHt… - это не токен, только вторая часть - так что вам нужно разбить эту строку на символ = и использовать только вторую половину как фактический токен.

Но комбинация app_id|app_secret, символ трубы в середине всегда работает как токен доступа к приложениям, поэтому нет необходимости запрашивать токен с вызовом API раньше. И это также токен, который PHP SDK создает и автоматически использует сам, когда не доступен токен доступа пользователя.

Смежные вопросы