我似乎无法获得最基本的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
我已经搜索过这个问题的解决方案了,似乎其他人在过去遇到过这个问题,但我找不到任何解决方案。
答案 0 :(得分: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密钥或其他任何东西,所以我无法真正测试它。
答案 1 :(得分: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);
(我试着编辑他的答案但是没有用)
祝你好运! :)