facebookと対話するWindowsフォームアプリケーションを作成して、ユーザー情報の一部を取得するアクセストークンを取得しようとしています。私は自分自身の誕生日を次のコードを使って取得しようとしていますが、それは私に400の悪いリクエストエラーを与え続けます。基本的にこのコードを実行し、認証時にログインすると、ユーザーの誕生日を含むメッセージボックスが表示されます。この場合、私は自分のユーザーIDをapi.GETメソッドで使用しています。私はトークンを渡さないと、同じコードを使ってidのような公開情報を見ることができますが、私はチェックするためにアクセストークンを印刷して、それは問題ないと思われるので、アクセストークンの問題のようです。どんな助けでも大歓迎です。初めてここで私はhttp://facebooksdk.codeplex.comを試してみて、サンプルのフォルダをチェックアウトすることができ要求するキャプチャされたアクセストークンを使用してユーザーのFacebook情報を取得する際の問題
public partial class AccessTokenRetrieval : Form
{
private string accessToken=null;
public AccessTokenRetrieval()
{
InitializeComponent();
}
private void accessTokenButton_Click(object sender, EventArgs e)
{
string getAccessTokenURL = @"https://graph.facebook.com/oauth/authorize?client_id=223055627757352&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent&display=popup&grant_type=client_credentials&scope=user_photos,offline_access";
getAccessTokenWebBrowser.Navigate(getAccessTokenURL);
}
private void getAccessTokenWebBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
string successUrl = @"http://www.facebook.com/connect/login_success.html";
string urlContainingUserAuthKey = e.Url.ToString();
MessageBox.Show(urlContainingUserAuthKey);
int searchInt = urlContainingUserAuthKey.IndexOf(successUrl);
MessageBox.Show(searchInt.ToString());
if (urlContainingUserAuthKey.IndexOf(successUrl) == -1)
{
string accessTokenString;
accessTokenString = Regex.Match(urlContainingUserAuthKey, "access_token=.*&").ToString();
this.accessToken = accessTokenString.Substring(13, accessTokenString.Length - 14);
//100001067570373
//MessageBox.Show(accessToken);
accessTokenTextBox.Text = this.accessToken;
Facebook.FacebookAPI api = new Facebook.FacebookAPI(this.accessToken);
JSONObject me = api.Get("/100001067570373");
MessageBox.Show(me.Dictionary["user_birthday"].String);
}
}
#
感謝の男!出来た! – C233Noob