4

我似乎连最基本的 Ebay Api Call 都无法正常工作。我正在尝试执行此处找到的教程:

http://developer.ebay.com/DevZone/xml/docs/HowTo/FirstCall/MakingCallCSharp.html

但是我不断收到错误消息:

“找不到类型或命名空间‘eBayAPIInterfaceService’(您是否缺少 using 指令或程序集引用?)

(使用 Visual Studio 2012)

我添加了服务参考http://developer.ebay.com/webservices/latest/ebaySvc.wsdl

我确保添加了 using 语句。所有其他 ebay Api 对象都被识别 CustomSecurityHeaderType、GeteBayOfficialTimeRequestType 和 GeteBayOfficialTimeResponseType 未显示为错误。它似乎只有 eBayAPIInterfaceService

我已经搜索了这个问题的解决方案,似乎其他人过去也遇到过这个问题,但是我找不到任何解决方案。

4

2 回答 2

7

据我所知,这段代码应该可以工作:

eBayAPIInterfaceClient service = new eBayAPIInterfaceClient("eBayAPI");

// Set credentials
CustomSecurityHeaderType requesterCredentials = new CustomSecurityHeaderType();
requesterCredentials.eBayAuthToken = "yourToken";    // use your token
requesterCredentials.Credentials = new UserIdPasswordType();
requesterCredentials.Credentials.AppId = appId;
requesterCredentials.Credentials.DevId = devId;
requesterCredentials.Credentials.AuthCert = certId;

// Make the call to GeteBayOfficialTime
GeteBayOfficialTimeRequestType request = new GeteBayOfficialTimeRequestType();
request.Version = "405";
GeteBayOfficialTimeResponseType response = service.GeteBayOfficialTime(ref requesterCredentials, request);
Console.WriteLine("The time at eBay headquarters in San Jose, California, USA, is:");
Console.WriteLine(response.Timestamp);

我没有 eBay API 密钥或任何东西,所以我无法真正测试它。

于 2013-01-24T09:41:43.943 回答
4

如果您找到此页面,那么您在寻找 API hello world 示例的错误位置。这个例子有一个更新的版本,你可以这样找到它:

从 eBay 下载并安装 eBayDotNET40sdk817.msi 文件(如果您还没有这样做的话,无论如何都需要这样做):https ://go.developer.ebay.com/developers/ebay/documentation-tools/sdks/dotnet

然后你的硬盘上会有两个示例教程:C:\Program Files\eBay\eBay .NET SDK v817 Release\Tutorials\C#

这两个教程是:Tutorial_HelloWorld.doc、Tutorial_ConsoleAddItem.doc

我尝试了 add-item 教程,只需复制和粘贴代码就可以了。我还没有尝试过 hello world 教程,但我可以看到它是一个更新版本,不使用 eBayAPIInterfaceClient 或 eBayAPIInterfaceService。

附带说明:您需要添加到项目中的 COM 引用位于 C:\Program Files\eBay。

最后,如果您希望 Sebastian 的精彩答案(上图)中的代码能够正常工作,那么不要忘记将 requestURL 放在您实例化 eBayAPIInterfaceClient 的位置,如下所示:

eBayAPIInterfaceClient service = new eBayAPIInterfaceClient("eBayAPI", requestURL);

(我试图编辑他的答案,但没有奏效)

祝你好运!:)

于 2013-05-16T05:35:55.667 回答