2012-03-09 9 views
4

アクセストークンを取得しようとしましたが、エラーが発生しましたPerlのfacebook graph givingアクセストークンを取得できませんでした:/usr/local/share/perl/5.10.1/Facebook/Graph/AccessToken/Response.pmのリクエストが不正です

続いて/usr/local/share/perl/5.10.1/Facebook/Graph/AccessToken/Response.pmライン26

不正な要求は、それが成功へのリダイレクトしているコード

use Facebook::Graph          ; 

my $fb = Facebook::Graph->new(
    app_id   => $facebook_app_id, 
    secret   => $facebook_app_secret, 
    postback  => $postback_url, 

    ); 

my $uri = $fb 
    ->authorize 
    ->extend_permissions(qw(offline_access publish_stream)) 
    ->uri_as_string; 

ですポストバックURLと私はパラメータを取得からコードを取得しています

01ポストバックURLで

私のコード/ページ

use Facebook::Graph          ; 

my $fb = Facebook::Graph->new(
    app_id   => $facebook_app_id, 
    secret   => $facebook_app_secret, 
    postback  => $postback_url, 

    ); 

私は、私がアクセストークンを取得できませんでしたとエラーを取得しています$fb->request_access_token($code) ;

をしています:不正な要求を/usr/local/share/perl/5.10で.1/Facebook/Graph/AccessToken/Response.pm 26行

助けてください ありがとうございます。

+2

Facebook :: Graphモジュールとその兄弟は全く新しいモジュールです。著者は彼らと良い仕事をしており、実際のビジネスアプリケーションに配備されています。彼らがどのように新しいのかを考えれば、質問に答えられる可能性が最も高いのは作者です。あなたはPODの彼の電子メールアドレスを調べ、彼と連絡を取り合うことができます。私はロサンゼルスのPerlMongersでFacebook :: Graphのプレゼンテーションを見てきました。 – DavidO

+0

完全なコードとエラートレースを表示できますか?あなたの2つのスニペットをうまく使った。 – spazm

答えて

1

自分のアプリケーションを使用してコードを生成するために、最初のスニペットを使用しました。

は、手動でコードを取得した後:

#!/usr/bin/perl 
use strict; 
use warnings; 
my $facebook_app_id =  'MYAPP'; 
my $facebook_app_secret = 'SECRET' 
my $postback_url =  'http://localhost:8321/'; 
my $code =    '...'; 

use Facebook::Graph; 
use Data::Dumper; 

my $fb = Facebook::Graph->new(
    app_id   => $facebook_app_id, 
    secret   => $facebook_app_secret, 
    postback  => $postback_url, 
); 
print Dumper $fb->request_access_token($code); 

は、これは私はあなたがそれを使用以外の任意の値にポストバックを変更することで、投稿エラーを再作成することができました'token' => '...tokenval...'

と予想されるJSONのrepsonseをダンプコードを作成するとき。これには、後続のスラッシュの追加または削除が含まれます。だからあなたのポストバックのURLが一致するようにしてください!

アクセストークンを取得できませんでした:不正な要求を /Users/andrew/perl5/lib/perl5/Facebook/Graph/AccessToken/Response.pm ラインで26

同様に、あなたがあれば$codeを長時間押し続けると有効期限が切れます。次に、新しいものを作成する必要があります。 request_access_tokenで返されたaccess_tokenを保存/キャッシュすることができます。彼らは非常に長く続くことはありませんが、あなたは最近のFacebookのAPIの変更でより長生きのものをリクエストすることができます。

関連する問題