在企业防火墙 .Net C# 后面访问 SmartSheet API
Access SmartSheet API behind corporate firewall .Net C#
我刚刚开始使用 API.
更新智能 sheet 文档的开发
使用 SDK 参考中的示例 (csharp-read-write-sheet) 只要我处于开放的互联网连接上,我就可以更新文档,但是,当我连接时我不能到公司 LAN,因为它报告代理身份验证问题。
这是来自 SDK 的代码
string accessToken = ConfigurationManager.AppSettings["AccessToken"];
if (string.IsNullOrEmpty(accessToken))
accessToken = Environment.GetEnvironmentVariable("SMARTSHEET_ACCESS_TOKEN");
if (string.IsNullOrEmpty(accessToken))
throw new Exception("Must set API access token in App.conf file");
// Get sheet Id from App.config file
string sheetIdString = ConfigurationManager.AppSettings["SheetId"];
long sheetId = long.Parse(sheetIdString);
// Initialize client
SmartsheetClient ss = new SmartsheetBuilder().SetAccessToken(accessToken).Build();
// Load the entire sheet
Sheet sheet = ss.SheetResources.GetSheet(sheetId, null, null, null, null, null, null, null);
Console.WriteLine("Loaded " + sheet.Rows.Count + " rows from sheet: " + sheet.Name);
你能告诉我如何配置 API 以向客户端提供 System.Net.WebProxy
对象 API 通过公司代理提供身份验证路由
遗憾的是,SDK 不公开底层的 WebRequest 对象。
但是,您可以在 app.config
文件中指定代理信息。
例如:
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="http://my-actual-proxy-url" />
</defaultProxy>
</system.net>
</configuration>
参见相关问题:C# Connecting Through Proxy
@Steve Weil 的回答不允许您提供用户凭据....基于它的进一步研究虽然结束了我在 Is it possible to specify proxy credentials in your web.config? 现在已经解决了我的问题
我刚刚开始使用 API.
更新智能 sheet 文档的开发使用 SDK 参考中的示例 (csharp-read-write-sheet) 只要我处于开放的互联网连接上,我就可以更新文档,但是,当我连接时我不能到公司 LAN,因为它报告代理身份验证问题。
这是来自 SDK 的代码
string accessToken = ConfigurationManager.AppSettings["AccessToken"];
if (string.IsNullOrEmpty(accessToken))
accessToken = Environment.GetEnvironmentVariable("SMARTSHEET_ACCESS_TOKEN");
if (string.IsNullOrEmpty(accessToken))
throw new Exception("Must set API access token in App.conf file");
// Get sheet Id from App.config file
string sheetIdString = ConfigurationManager.AppSettings["SheetId"];
long sheetId = long.Parse(sheetIdString);
// Initialize client
SmartsheetClient ss = new SmartsheetBuilder().SetAccessToken(accessToken).Build();
// Load the entire sheet
Sheet sheet = ss.SheetResources.GetSheet(sheetId, null, null, null, null, null, null, null);
Console.WriteLine("Loaded " + sheet.Rows.Count + " rows from sheet: " + sheet.Name);
你能告诉我如何配置 API 以向客户端提供 System.Net.WebProxy
对象 API 通过公司代理提供身份验证路由
遗憾的是,SDK 不公开底层的 WebRequest 对象。
但是,您可以在 app.config
文件中指定代理信息。
例如:
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="http://my-actual-proxy-url" />
</defaultProxy>
</system.net>
</configuration>
参见相关问题:C# Connecting Through Proxy
@Steve Weil 的回答不允许您提供用户凭据....基于它的进一步研究虽然结束了我在 Is it possible to specify proxy credentials in your web.config? 现在已经解决了我的问题