我有一個從FourSquare爲我的C#桌面應用程序獲取訪問令牌的問題。我在他們的網站註冊了我的應用程序,並獲得了客戶端ID和密碼。對於我的回調網址,我把http..localhost:8080。我不知道該說什麼,我知道它沒有多大意義,但它是存在的。foursquare accsess token C#
我找到了一種方法來獲取訪問令牌與我的瀏覽器。當我嘗試以下網址:
https://foursquare.com/oauth2/authenticate?client_id=MY_CLIENT_ID&response_type=token&redirect_uri=https:localhost:8080/
它試圖重定向到:
HTTP:本地主機:8080/accsess_token = OBTAINED_ACCSESS_TOKEN
所以你去,我得到了我的訪問令牌。現在,我想從我的C#看着響應頭做在我的C#代碼一些類似的事情,並在Location頭應該有:
HTTP:本地主機:8080/accsess_token = OBTAINED_ACCSESS_TOKEN
但我有一個問題,在響應中沒有位置標題。當我在瀏覽器中看到HttpFox中的響應標題時,在響應中有一個位置標題和我的鏈接。
我在這裏發佈了迄今爲止我所做的工作,而且我在這裏打了一堵磚牆。如果有人知道任何其他方式從FourSquare獲取桌面應用程序的訪問令牌,或者有上述問題的解決方案。請張貼它。如果有人有這個答案,我會給他買一瓶啤酒,因爲這是我工作的一部分。 :)
這是我的代碼到目前爲止。
string url = "https://foursquare.com/oaut2/authenticate?client_id=E4HFYP1LRDSAL21WJVJ1EBT1NSG1DPRHSNXN0PFI10UIOX0N&response_type=token&redirect_uri=https:localhost:8080/";
HttpWebRequest request = null;
HttpWebResponse response = null;
try
{
request = WebRequest.Create(url) as HttpWebRequest;
response = request.GetResponse() as HttpWebResponse;
request.AllowAutoRedirect = false;
int status = (int)response.StatusCode;
Console.WriteLine("Request headers: ");
Console.WriteLine("-------------------------------------------------------------");
foreach (string s in request.Headers)
{
Console.WriteLine(s + ": " + request.Headers[s]);
}
Console.WriteLine("Response headers: ");
Console.WriteLine("-------------------------------------------------------------");
foreach (string header in response.Headers)
Console.WriteLine(header + ": " + response.Headers[header]);
}
catch (Exception x)
{
Console.WriteLine(x.Message);
}