我正在尝试将测试用户添加到我的Facebook应用程序中,以便我可以更好地测试“请求”对话框并检查是否可以检索跟踪信息。但我一直在这个问题的标题中得到错误。这是我的代码:
[CanvasAuthorize]
public ActionResult Add()
{
var fb = new FacebookWebClient(FacebookWebContext.Current);
dynamic result = fb.Post(string.Format("{0}/accounts/test-users", FacebookWebContext.Current.Settings.AppId),
new { installed = false});
return Content(result.ToString());
}
奇怪的是,在调试时,我检查了当前的上下文,似乎一切都很好。所有属性都在那里(包括App Secret)并且没有null。为什么会这样?
答案 0 :(得分:2)
我猜错误和旧的命名有点误导,你需要的是application access token。它在Test Users documentation中提到:
您可以创建关联的测试用户 使用图表的特定应用程序 API与您的应用访问令牌。
对于PHP用户,我编写了一个关于如何获取此访问令牌here的教程。
答案 1 :(得分:0)
您需要一个有效的访问令牌才能包含在您的URI中,例如“& access_token = APP_ACCESS_TOKEN”。试试Facebook的Access Token Tool。
答案 2 :(得分:0)
我注意到你没有分享你的解决方案,重要的是分享以防其他人有同样的问题。
以下是我以编程方式获取App客户端的方式:
var fbAppClient = FacebookWebClient(AppId, AppSecret);
答案 3 :(得分:0)
虽然参加派对的时间较晚,但我认为自从我遇到完全相同的问题后,我会在原始代码中添加实际的修补程序。
在Kassem上面的代码中,在第4行,以下内容:
var fb = new FacebookWebClient(FacebookWebContext.Current);
是导致标题错误的原因。用以下代替:
var fb = new FacebookWebClient(FacebookApplication.Current.AppId, FacebookApplication.Current.AppSecret);
解决了这个问题。