redirect_uri URL必须是绝对错误

时间:2014-02-19 16:10:58

标签: c# facebook

我想要做的是重定向用户,如果它的访问令牌已过期我正在使用我的localhost这样做:

Response.Redirect("https://www.facebook.com/dialog/oauth?" +
           "client_id=" + "{507061112747022}" +
           "&redirect_uri=" + "{http://localhost:63695/FacebookChatApi/Default.aspx}");

但是错误正在发生The redirect_uri URL must be absolute error会出现什么问题?以及如何解决它(我使用c#作为语言)

2 个答案:

答案 0 :(得分:2)

删除花括号。

Url对重定向URI进行编码。

Response.Redirect("https://www.facebook.com/dialog/oauth?" +
   "client_id=507061112747022" +
   "&redirect_uri=" + 
   Uri.EscapeDataString("http://localhost:63695/FacebookChatApi/Default.aspx"));

答案 1 :(得分:0)

您也可以尝试将字符串设置为亮起的

将@追加到你的response.redirect

的开头

所以它看起来像

Response.Redirect(@"https://www.facebook.com/dialog/oauth?" +    
       "client_id=" + "{507061112747022}" +
       "&redirect_uri=" + "{http://localhost:63695/FacebookChatApi/Default.aspx}");

正如Spender在下面所说,你也可以编码为URI

Uri uri = new Uri("https://www.facebook.com/dialog/oauth?" +    
           "client_id=" + "507061112747022" +
           "&redirect_uri=" + "http://localhost:63695/FacebookChatApi/Default.aspx");