2014-02-19 3 views
0

при попытке перенаправить, чтобы получить новый маркер доступа ошибка произошла, говоря:искаженной маркеров доступа 190 ошибка

(OAuthException - #190) Malformed access token AQClEC8NbS1tbO4_HzqqZwVy2Inrk5I7vBpszPDPN0dVOV0ekurwNEpqzlWe2hQzl2KNZ5BwiSvL16bDPhR5IxFeJXEXBdM67uky7iwKbYKIVoRF__iyayyXBgcIp939gEZNtCUxyO4ZKZHQ9xmEwDstaOgq_bAvtygwv3YUeEYD9wftsytMZYwVxDO7rjq-2i3-XCYj643-6_1yKZ0dDahAB00iBqJqw1xiZ-l1kzStmA_pwMwO5dtBHZozp-L2hp0JEeTL0Fhc5CG1zbJ8Om6kyKBWyZuc0AtOrdSjgcBQBv9hQSF5pwsMZvFDGcjiwSc 

, что, возможно, эта проблема может быть я делаю этот метод для перенаправления:

string redirecturl = @"https://graph.facebook.com/oauth/authorize?client_id=507061112747022&redirect_uri=http://localhost:63695/FacebookChatApi/Default.aspx"; 
    Response.Redirect(redirecturl); 

и я читаю маркер доступа следующим образом:

string accessToken=Request["code"]; 
var client = new FacebookClient(accessToken); // here is where the error occurred 
  1. Правильно ли это, чтобы получить токен доступа к клиенту?
  2. почему эта ошибка происходит при чтении значения code

ответ

0

согласно Facebook Debug инструмент, ваш token не Токен, но URL вместо: https://developers.facebook.com/tools/debug/og/object?q=AQClEC8NbS1tbO4_HzqqZwVy2Inrk5I7vBpszPDPN0dVOV0ekurwNEpqzlWe2hQzl2KNZ5BwiSvL16bDPhR5IxFeJXEXBdM67uky7iwKbYKIVoRF__iyayyXBgcIp939gEZNtCUxyO4ZKZHQ9xmEwDstaOgq_bAvtygwv3YUeEYD9wftsytMZYwVxDO7rjq

Я не знаю, кто вы его получите , и почему вы получаете его вместо токена доступа - вы не указали достаточно кода. Из того, что я видел, я считаю, что вы неправильно генерируете свой redirecturl. Ниже приведен фрагмент кода из одного из моих проектов - пожалуйста, попробуйте и сообщите мне, если он сработает для вас:

// 1. redirect user to the login page: 
var redirectUri = "http://localhost:63695/FacebookChatApi/Default.aspx"; 

var service = new FacebookClient(); 
var loginUrl = service.GetLoginUrl(new { 
    client_id = ConfigurationProvider.FacebookAppId, 
    client_secret = ConfigurationProvider.FacebookAppSecret, 
    redirect_uri = redirectUri, 
    response_type = "code", 
    scope = "manage_pages, publish_actions, user_photos, publish_stream" // Add other permissions as needed 
}); 

Response.Redirect(loginUrl); 

// 2. And when user authorizes, get the access token 
// NOTE: code executes on FacebookChatApi/Default.aspx page 
var redirectUri = "http://localhost:63695/FacebookChatApi/Default.aspx"; // must be the same as in the login call! 
var fb = new FacebookClient(); 
dynamic result = fb.Post("oauth/access_token", new 
{ 
    client_id = ConfigurationProvider.FacebookAppId, 
    client_secret = ConfigurationProvider.FacebookAppSecret, 
    redirect_uri = redirectUri, 
    code = code 
}); 

var accessToken = result.access_token; 
Смежные вопросы