2011-12-07 17 views
8

間の入力に私は私のアプリを終了しているし、その後3つのFBのアカウント上でそれを試してみましたが、それは、 OKだったが、4 番目は、(それがアクセストークンを取得することはできません)恒久的なエラーがあります。FBエラー:予想される1 '。'はがきとペイロード

com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: Expected 1 '.' In the input between the postcard and the payload.

私はこのアプリを削除してこのアカウントにもう一度インストールしようとしましたが、何も変更されませんでした。

JavaとrestFBクライアントを使用します。

これは、私がアクセストークンを取得するコードです:

if (request.getParameter("code") != null) { 
    String code = request.getParameter("code"); 
    String url = "https://graph.facebook.com/oauth/access_token?" 
     + "client_id=" + clientId + "&" + "client_secret=" 
     + clientSecret + "&" + "code=" + code + "&" + "redirect_uri=" 
     + redirectURL +"&type=web_server"; 
    String accessToken=readUrl(url).split("&")[0].replaceFirst("access_token=", ""); 
    //.... 
} 

私は同じエラーでhere誰かを見て、彼は解決策があったと言った:

replacing "|" with "%257C" which made my access token invalid"

私は本当にできませんでした彼が何を意味するのか理解する。

答えて

1

/oauth/access_token要求への応答と、アクセストークンとして使用するために抽出した値を記録する価値があります。

アカウントが機能しない場合は、/oauth/access_token応答にaccess_tokenより前に他のパラメータが含まれているかどうかを確認してください。

expiry=86400&access_token=AAAxxxx 
0

のようなIIRC私が見てきた回答は、私は同じ問題を経験して、私の唯一の結論をデバッグした後、このメッセージがスローされたとき、それはちょうどトークンが有効期限が切れたか、無効であるかもしれないということでした。新たに生成されたトークンでチェックすることは、このエラーを投げるべきではありません。

1

「アクセストークン」ではなく、リクエストに署名する前に、Facebookから返された「コード」パラメータを確認していることを確認してください。それは私が作った間違いだった。

関連する問題