3
我正在將Google API集成到我的項目中。我使用下面的代碼可以這樣做:GoogleConnect.Fetch引發無法投射對象錯誤
public void google()
{
GoogleConnect.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
GoogleConnect.ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
GoogleConnect.RedirectUri = Request.Url.AbsoluteUri.Split('?')[0];
if (!string.IsNullOrEmpty(Request.QueryString["code"]))
{
string code = Request.QueryString["code"].ToString();
string json = GoogleConnect.Fetch("me", code.ToString());
GoogleProfile profile = new JavaScriptSerializer().Deserialize<GoogleProfile>(json);
//code for showing data on my page
}
if (Request.QueryString["error"] == "access_denied")
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('Access denied.')", true);
}
}
public class GoogleProfile
{
public string Id { get; set; }
public string DisplayName { get; set; }
public Image Image { get; set; }
public List<Email> Emails { get; set; }
public string Gender { get; set; }
public string ObjectType { get; set; }
}
public class Email
{
public string Value { get; set; }
public string Type { get; set; }
}
public class Image
{
public string Url { get; set; }
}
它運行時,我點擊谷歌按鈕,顯示了第一實例數據,但它引發以下錯誤我第二次嘗試。
'/'應用程序中的服務器錯誤。無法投射 'System.String'類型的對象來鍵入'?1?'。
我也在同一屏幕上有一個Facebook和Twitter按鈕,但我懷疑它是造成這個問題。任何建議都會有所幫助。
其中一線到底是失敗的它嗎? – DaImTo
string json = GoogleConnect.Fetch(「me」,code.ToString());線路號碼。 11.這是我第二次嘗試讓訪問。 – rexroxm
找出代碼是什麼,那麼它不是你可以投入字符串的東西。 – DaImTo