Насколько я могу судить, объект FacebookGraph, который есть в примерах из DotNetOpenAuth, не поддерживает изменение полей, которые вы получаете. Однако, поскольку запрашиваемое WebRequest возвращает строку JSON, вы можете проанализировать ее самостоятельно (или использовать другой анализатор JSON). Это именно то, что я сделал, используя NewtonSoft.Json.dll :
//as part of the uri for the webrequest, include all the fields you want to use
var request = WebRequest.Create("https://graph.facebook.com/me?fields=email,name&access_token=" + Uri.EscapeDataString(authorization.AccessToken));
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
System.IO.StreamReader streamReader = new System.IO.StreamReader(responseStream, true);
string MyStr = streamReader.ReadToEnd();
JObject userInfo = JObject.Parse(MyStr);
//now you can access elements via:
// (string)userInfo["name"], userInfo["email"], userInfo["id"], etc.
}
}
Обратите внимание, что вы указываете, какие поля вы хотите отправить обратно как часть URI WebRequest. Доступные поля можно найти на https://developers.facebook.com/docs/reference/api/user/