Salesforce中是否有任何方法可以在包或命名空间下对apex类进行分组?我们可以将托管包用于内部组织目的吗?
我想将SalesForce信息集成到.net MVC应用程序中.
就我所见,SalesForce网站上的示例都是SOAP,或者还有SalesForce ADO.NET数据提供程序.
http://wiki.developerforce.com/page/Web_Services_API#.NET
谢谢.
我有Eclipse Juno和Force.com IDE.当我尝试创建新类时,他们总是会显示:无法创建部件的控件.它第一次工作,但现在他们总是表现出来.如果我在force.com平台内创建它们也会发生同样的情况
Error details:
org.eclipse.core.runtime.AssertionFailedException: assertion failed:
at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
Run Code Online (Sandbox Code Playgroud)
等......
我将非常感谢所有的帮助.
我一直在关注以下教程:http://wiki.developerforce.com/page/Accessing_Salesforce_Data_From_Ruby
但是,我坚持你需要提供密钥的部分:
host: login.salesforce.com # Use test.salesforce.com for sandbox
client_secret: 1234567890 # This is the Consumer Secret from Salesforce
client_id: somebigidthinghere # This is the Consumer Key from Salesforce
sobject_module: SFDC_Models # See below for details on using modules
debugging: true # Can be useful while developing
username: me@mycompany.com
password: mypasswordplusmysecuritytoken
Run Code Online (Sandbox Code Playgroud)
我在哪里可以得到client_secret和client_id.来自Salesforce官方API站点的教程有点过时了.http://www.salesforce.com/us/developer/docs/api_rest/index.htm
而其他一些教程甚至没有提到从哪里获得它.
我已经在http://developer.force.com/创建了一个帐户
甚至创建了一个自定义应用程序,如果我错了,请纠正我.
然后不知道在哪里找到我需要的钥匙.
任何变通办法将不胜感激.
编辑,请在这个问题下面看到我的第二个答案,以便更简洁,更简单地显示问题
我终于打败了我的智慧.我正在使用钛的跨平台应用程序(IOS和Android),并通过休息呼叫连接到salesforce api.我在这个问题上花了3天20个小时,但仍然陷入困境.任何支持将非常感谢!所以让我们潜入.
我想要它做什么: 应用程序启动,检查用户是否已使用oauth2授权给予令牌,如果没有,则为用户提供salesforce登录屏幕.用户输入凭据并点击"允许"按钮,然后我们被重定向回应用程序.
问题: 从上面我想要它做的描述一切都有效,除了粗体的最后一行.一旦用户点击"允许"按钮,我们就会收到此未知的网址方案错误:

代码: 代码几乎由3个不同的重要区域组成
index.js
var Auth = require('AuthService');
Auth.openLogin();
Run Code Online (Sandbox Code Playgroud)
AuthService.js这里只有"openLogin"函数非常重要.
var loginWindow;
module.exports = {
get: function () {
console.log("made it into the auth.get function");
return Ti.App.Properties.getObject('auth');
},
set: function (data) {
Ti.App.Properties.setObject('auth', data);
console.log("auth set function was executed!!!");
},
erase: function () {
Ti.App.Properties.removeProperty('auth');
},
openLogin: function () {
console.log("made it into openLogin!!");
var webview = Titanium.UI.createWebView({url:'https://login.salesforce.com/services/oauth2/authorize' +
'?response_type=token&display=touch' +
'&redirect_uri=testapp://app.open' +
'&client_id=' + Ti.App.Properties.getString('salesforce_client_id')});
//console.log("Webview …Run Code Online (Sandbox Code Playgroud) 我有点困惑.我们从Salesforce下载了WSDL文件,并使用建议的文件路径创建了对它的Web引用.它创建了我所理解的代理类,但不是SforceService类.
其他人建议您必须使用WSDL.exe生成我所做的类文件,现在它可以正常工作.
我不明白为什么?
创建Web引用的过程是否根据需要配置代理?为什么要加分?
有什么建议?
我在我的组织中创建了一个主题为"电子邮件任务"的任务
我写了一个顶点代码
public class TaskInfoDAOClass
{
public static List<Task> queryTaskInfo ()
{
integer count = [SELECT count() FROM Task];
System.debug('Row Count :'+ count);
List<Task> tasks= [SELECT Task.Id,Task.AccountId,Task.Status,Task.Account.Name FROM Task where Task.Subject='Email Task'];
return tasks;
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个测试类来测试顶点代码
@isTest
public class TestTaskInfoDAO
{
public static testMethod void testQueryTaskInfo()
{
List<Task> tasks = TaskInfoDAOClass.queryTaskInfo();
System.debug ('this is a debug statement');
for (Task t : tasks)
{
System.debug ('Status '+ t.Status);
System.debug ('Account name '+ t.Account.Name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个测试时,我得到0作为ROW计数.请参考apex.log文件
24.0 APEX_CODE,FINE;APEX_PROFILING,FINE;DB,INFO;VALIDATION,INFO;WORKFLOW,FINEST
23:48:30.100 …Run Code Online (Sandbox Code Playgroud) 有没有办法获取Salesforce中表中所有字段的列表?DESCRIBE myTable不起作用,SELECT * FROM myTable也不起作用.
我正在尝试使用其OAuth身份验证工作流程来获取针对Salesforce在.NET中验证MVC应用程序的实例.我一直在参考这个非常简单的演练.这与让Google身份验证工作非常相似.它归结为使用个人帐户身份验证模板设置.NET MVC项目,并在Salesforce中启动新的连接应用程序.然后,添加Owin.Security.Providers库的Salesforce,调整Startup.Auth.cs了一下,包括ClientId和ClientSecret从Salesforce的应用程序,授权和令牌端点.它建议的回调网址是http:// localhost:[port]/signin-salesforce,这与用于Google身份验证的回调网址非常相似.
当我被重定向到Salesforce并且可以登录时,将我返回到我的MVC应用程序的握手似乎遇到了一个我无法确定的问题.我被重定向回登录页面,.NET似乎并不知道我的登录信息,虽然我肯定有一个与Salesforce的活动会话(Salesforce仪表板将自动登录我).在代码中,事情开始在这里横行:
// GET: /Account/ExternalLoginCallback
[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
//more code we never reach
}
Run Code Online (Sandbox Code Playgroud)
loginInfo永远是空的.因此,为了弄清楚将什么类型的请求发送到.NET,我转向Fiddler并遇到一个请求反对localhost:[port]/signin-salesforce一堆参数得到一个奇怪的响应:
找到HTTP/1.1 302
位置:/ Account/ExternalLoginCallback?error = access_denied
服务器:Microsoft-IIS/10.0
Set-Cookie:.AspNet.Correlation.Salesforce =; 路径= /; expires =周四,01-Jan-1970 00:00:00 GMT
X-SourceFiles:????= UTF-8乙YzpcdXNlcnNcc3RldmUuY2FtaXJlXGRvY3VtZW50c1x2aXN1YWwgc3R1ZGlvIDIwMTVcUHJvamVjdHNcU2FsZXNGb3JjZUludGVncmF0aW9uXFNhbGVzRm9yY2VJbnRlZ3JhdGlvblxzaWduaW4tc2FsZXNmb3JjZQ == =
X-Powered-By:ASP.NET
日期:2016年5月20日星期五21:46:09 GMT
内容长度:0
请注意Location标头,它告诉.NET重定向到/Account/ExternalLoginCallback错误参数"access_denied".启用一些跟踪Owin …
我正在使用Virtus创建代表Salesforce对象的模型.
我正在尝试创建具有友好名称的属性,这些属性用于访问我可以用来检索该变量的标识符"String"的值和方法.
Object.attribute #=> "BOB"
Object.get_identifier(:attribute_name) #=> "KEY"
# OR something like this
Object.attribute.identifier #=> "KEY"
Run Code Online (Sandbox Code Playgroud)
友好名称用作getter/setter以及我可以存储与API名称对应的每个属性的标识符.
这是一个例子:
class Case
include Virtus.model
attribute :case_number, String, identifier: 'Case_Number__c'
end
c = Case.new(case_number: 'XXX')
c.case_number #=> 'XXX'
c.case_number.identifier #=> 'Case_Number__c'
Run Code Online (Sandbox Code Playgroud)
或者,不是在Attribute本身上有方法,也许为每个标识符集创建一个辅助方法:
c.case_number #=> 'XXX'
c.case_number_identifier #=> 'Case_Number__c'
Run Code Online (Sandbox Code Playgroud)
我可以扩展Virtus :: Attribute并添加它吗?如果是这样,我不确定如何去做.