2012-08-02 41 views
1

當用戶安裝應用程序時,頁面將被重定向而不初始化GET參數。在應用程序安裝過程中傳遞GET參數

例如:

  1. 用戶打開應用程序鏈接的:http://apps.facebook.com/[app]/?request_ids=123 & fb_source =壁
  2. 未安裝該應用,所以Facebook重定向到頁面:https://www.facebook.com/dialog/oauth?client_id=[app]redirect_uri=http://apps.facebook.com/[app]/?scope=user_about_me,email & response_type = code
  3. 用戶確認必要的權限後,他被重定向到頁面:https://apps.facebook.com/[app]/?code=[authorization code]

在最終的url中,最初的GET參數被遺漏,所以我無法檢測到用戶來自我的應用程序的URL。

我用下面的C#代碼來生成登錄網址:

dynamic parameters = new ExpandoObject(); 
parameters.client_id = _configuration.AppId; 
parameters.redirect_uri = _configuration.CanvasUrl; 
parameters.scope = String.Join(",", accessScope); 
parameters.response_type = "code"; 
return _facebookClient.GetLoginUrl(parameters); 

我無法使用得到parameters.redirect_uri值參數(Facebook的錯誤 - 網址是不正確的)。

請指教我如何使用初始GET參數。

回答

0

您需要使用認證的兩個步驟相同redirect_uri參數 -

雖然您還沒有足夠的信息出現,我懷疑身份驗證對話框加載OK,用戶接受它,但你嘗試交換codeaccess_token失敗,因爲您沒有使用相同的redirect_uri(的參數)

相關問題