2012-06-03 2 views
1

Я пытаюсь получить информацию об apprequests, отправленной моим приложением (см. https://developers.facebook.com/docs/reference/api/user/#apprequests), но даже после предоставления токена доступа к приложениям, я получать этот ответ всякий раз, когда я пытаюсь получить доступ к объекту apprequest в Graph API:apprequests object throw «Ошибка доступа к токену» требуется даже при предоставлении Token App Token Token

{ 
    "error": { 
    "message": "An access token is required to request this resource.", 
    "type": "OAuthException", 
    "code": 104 
    } 
} 

я получить свой маркер доступа приложения по issueing запроса GET по следующему URL-адрес:

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

I затем пытаются получить доступ к apprequest объект, нажав

https://graph.facebook.com/REQUEST_ID?access_token=APP_ACCESS_TOKEN

Когда я ударил этого URL, я получаю сообщение об ошибке, как определено выше. Я предоставляю access_token в URL-адресе, поэтому эта ошибка является либо ошибкой, либо я неправильно понимаю документацию, но я думаю, что сообщение в блоге Facebook (см. https://developers.facebook.com/blog/post/464/) получает информацию о точном виде, как я уже говорил (получение приложения токен доступа, запрос apprequest, нажав Graph API).

Спасибо за помощь!

ответ

2

У меня была такая же проблема только сейчас. Наверное, вы решили его сейчас, но я все равно отвечу всем, кто приедет сюда.

Если вы заметили $ apprequest_utl вы увидите, что это что-то вроде

https://graph.facebook.com/USER_ID/apprequests?message=Request_Message&data=somedata&access_token=ACCESSTOKEN&method=post

Вот, что должно было быть «&», на самом деле «& амп;», который в любом случае одно и то же но do not не работают с приложениями facebook с php-функцией file_get_contents. Вместо этого используйте завиток, и все работает отлично!

<?php 

function app_request ($request_string,$app_id,$app_secret,$user_id,$type) { 

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

    $app_access_token = file_get_contents($token_url); 

    $request_string=utf8_encode($request_string); 

    $apprequest_url ="https://graph.facebook.com/" . 
    $user_id . 
    "/apprequests?message=" . 
    $request_string . 
    "&data=" . 
    $type . 
    "&" . 
    $app_access_token . "&method=post"; 

    $result = curl($apprequest_url); 
    echo "Request id number: " . $result; 

} 

    function curl($url){ 

     $curl = curl_init($url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
     return curl_exec($curl); 
     curl_close($curl); 

} 

//Call the function and make the app request! 
app_request("Test",$APP_ID,$APP_SECRET,$USER_ID,"Test"); 

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