【发布时间】:2024-05-01 16:55:02
【问题描述】:
我打算从我的公司主页获取 facebook 见解。
阅读 FB 文档,我必须创建一个 FB-APP 并使用它“进行身份验证并获得访问令牌,然后尝试一些调用来访问您帐户的广告活动对象。”
(https://developers.facebook.com/docs/marketing-api/overview#gettingstarted)
第一部分结束,我的应用程序要求特权拥有扩展权限“ads_read”并为我生成访问令牌。
但在那之后,当我询问一些对象,如广告帐户、广告活动等时,我收到消息:“远程服务器返回错误:(400) 错误请求。”
这是我的代码:
默认.aspx:
protected void Page_Load(object sender, EventArgs e)
{
string facebook__client_id = "331449370396212";
string urlBase = "https://tecnologia.chleba.net:94";
string url = "https://graph.facebook.com/oauth/authorize?client_id=" + facebook__client_id + "&redirect_uri=" + urlBase + "/FacebookCallBack.aspx&scope=ads_read";
Response.Redirect(url);
}
FacebookCallBack.aspx:
protected void Page_Load(object sender, EventArgs e)
{
string facebook__client_id = "331449370396212";
string facebook__client_secret = "";
string urlBase = "";
if (Request["code"] != null)
{
string url = "https://graph.facebook.com/oauth/access_token?client_id=" + facebook__client_id + "&redirect_uri=" + urlBase + "/FacebookCallBack.aspx&client_secret=" + facebook__client_secret + "&code=" + Request["code"].ToString();
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.CreateDefault(new Uri(url));
WebResponse res = (WebResponse)req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
url = sr.ReadToEnd();
res.Close();
string[] resposta = url.Split("&".ToCharArray());
string token = resposta.GetValue(0).ToString().Trim().Replace("access_token=", string.Empty);
// PROBLEM HERE
string aUrl = "https://graph.facebook.com/act_418011654925463?access_token="+ token;
try
{
req = (HttpWebRequest)HttpWebRequest.CreateDefault(new Uri(aUrl));
res = (WebResponse)req.GetResponse();
sr = new StreamReader(res.GetResponseStream());
string resultado = sr.ReadToEnd();
res.Close();
Response.Write(resultado);
}
catch (Exception ex)
{
Response.Write("erro: "+ ex.Message + " - " + ex.InnerException);
}
Response.End();
}
【问题讨论】:
标签: facebook facebook-graph-api facebook-insights