在企业防火墙 .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? 现在已经解决了我的问题