У меня есть приложение, которое будет использоваться на вкладке страницы Facebook, для которого я буду запрашивать основные разрешения.
Я использую ASP.NET MVC2 с ASP.NET 3.5.
Я использую следующие атрибуты действий:
[HttpPost]
[CanvasAuthorize]
public ActionResult Index(string signed_request)
{
ViewData["section"] = "post";
FacebookPageModel page = new FacebookPageModel();
if (!string.IsNullOrEmpty(signed_request))
{
string signedRequest = Request.Form["signed_request"];
var DecodedSignedRequest =
FacebookSignedRequest.Parse(
((FacebookConfigurationSection)
ConfigurationManager
.GetSection("facebookSettings"))
.AppSecret,
signed_request);
var SignedRequestData = DecodedSignedRequest.Data;
var RawRequestData = (IDictionary<string, object>)SignedRequestData;
// ok, start getting the data
page.user_id = FacebookWebContext.Current.UserId.ToString();
if (RawRequestData.ContainsKey("page") == true)
{
Facebook.JsonObject RawPageData =
(Facebook.JsonObject)RawRequestData["page"];
if (RawPageData.ContainsKey("liked") == true)
{
page.UserLikesThisPage = (bool)RawPageData["liked"];
}
}
if (RawRequestData.ContainsKey("app_data") == true)
{
page.app_data = RawRequestData["app_data"].ToString();
}
}
return View(page);
}
public class FacebookPageModel
{
public Dictionary<string, string> SignedRequestParameters { get; set; }
public bool UserLikesThisPage { get; set; }
public string app_data { get; set; }
public string user_id { get; set; }
public IEnumerable<TwitterSearchResultsModel> tweets { get; set; }
}
web.config:
<facebookSettings
appId="221731264504206"
appSecret="blah-blah-blah"
canvasUrl="http://url-of-canvas-page-tab/"
canvasPage="http://url-of-canvas-page-tab/" />
Вызов CanvasAuthorize без каких-либо других параметров, похоже, запрашивает базовые разрешения, что я и хочу. Проблема заключается в том, что после нажатия кнопки «Разрешить» URL-адрес пересылки отправляет меня на страницу профиля пользователя, а не на вкладку «Моя страница».
Как настроить приложение для пересылки пользователя на страницу вызова после разрешения запрошенных разрешений?
Спасибо,
Скотт