0

Web アプリケーションで内部から facebook のオープン グラフ API 呼び出しを作成しようとしています。このような C# リクエストを使用して Web リクエストを作成しています。

string token = "q2Fe0utty5gzCasPL23...";
string url = "https://graph.facebook.com/me?access_token=" + 
    HttpUtility.UrlEncode(token) +"&response_type=id";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream receiveStream = response.GetResponseStream();
StreamReader readStream = newStreamReader(receiveStream,Encoding.UTF8);
string responseData = readStream.ReadToEnd();

_context.SaveChanges();

トークンにはいくつかの特殊文字 (+、/、==) が含まれているため、HttpUtility.UrlEncode(token) を使用してエンコードしましたが、それでも次のエラーが発生します。

リモート サーバーがエラーを返しました: (400) 不正な要求。

このエラーを修正するにはどうすればよいですか。スタックオーバーフローで何らかの応答を確認して上記のことを行いましたが、それでもエラーが発生します.どこが間違っていましたか?

4

1 に答える 1

2

トークンにはいくつかの特殊文字 (+、/、==) があるため

奇妙に聞こえるかもしれませんが、通常、アクセス トークンは文字、数字、パイプ記号で構成されます。

また、有効でないアクセス トークン (有効期限が切れているという意味ではなく、まったくデコードできなかったトークン) を使用してリクエストを行うと、400 レスポンスが返されます。

したがって、デバッグ ツールでトークンを確認してください ( https://developers.facebook.com/tools/debug )。

于 2012-10-05T12:47:55.400 に答える