forcecli / force Goto Github PK
View Code? Open in Web Editor NEWA command-line interface to force.com
License: MIT License
A command-line interface to force.com
License: MIT License
$ force sobject create Base64Bucket Name:String Content:textarea
ERROR: unable to create field type: textarea
Every so often I go to pull from this repo's master branch and it creates a merge on my local copy. It seems like there are forced pushes being made to master and that is rewriting the history on this repo. Since it's the canonical repo, all 68 forks are affected.
Has anybody managed to parse the .profile metadata? I've tried the following code using the XML package (and various combinations). The top object gets parsed but not the FLS nor OLS structures.
type OLS struct {
allowCreate string
allowDelete string
allowEdit string
allowRead string
modifyAllRecords string
viewAllRecords string
}
type FLS struct {
field string `xml:"field"`
editable string `xml:"editable"`
readable string `xml:"readable"`
}
type Profile struct {
XMLName xml.Name `xml:"Profile"`
Name string
fieldPermissions []FLS `"xml:fieldPermissions"`
objectPermissions []OLS
}
pr := Profile{Name: name}
err := xml.Unmarshal(data, &pr)
When I do
./force sobject list
I get all the object.
Now I would like to see all the fields of an object. How do I do that?
./force sobject account show fields
??
Cannot seem to figure out what I am doing wrong. I apologize as I am aware this a completely Newb question. Just dying to use this and can't even get it to login.
Using the the code from the hack section and just keep getting the following error
$ export GOPATH=/go/go
$ export PATH="$GOPATH/bin:$PATH"
$ export GOPATH=
$ go get -u github.com/heroku/force
-bash: go: command not found
I downloaded force while at #df13 and it worked find there. This morning I ran force update (to see if they really added the 'whoami really' function) and it says it was updated to: 0.19.4
I then ran:
force login (proceeded to login)
force whoami (got requested to login again)
So, I tried to login again:
force login (proceeded to login)
but this time when it came back from OAuth, I got a stacktrace/error:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x10 pc=0x9bb9]
goroutine 1 [running]:
main.(*Force).Whoami(0x0, 0x210665b70, 0x0, 0x0)
/tmp/gopath_I9aaC/src/github.com/heroku/force/force.go:218 +0x39
main.runWhoami(0x4cd560, 0x210600020, 0x0, 0x0)
/tmp/gopath_I9aaC/src/github.com/heroku/force/whoami.go:20 +0x29
main.main()
/tmp/gopath_I9aaC/src/github.com/heroku/force/main.go:40 +0x22d
goroutine 5 [IO wait]:
net.runtime_pollWait(0x22106c4e60, 0x72, 0x0)
/tmp/compile_ywQ9N/go/src/pkg/runtime/znetpoll_darwin_amd64.c:118 +0x82
net.(_pollDesc).WaitRead(0x21062f500, 0x23, 0x210665b10)
/app/go/linux-amd64/src/pkg/net/fd_poll_runtime.go:75 +0x31
net.(_netFD).Read(0x21062f480, 0x210689000, 0x1000, 0x1000, 0x0, ...)
/app/go/linux-amd64/src/pkg/net/fd_unix.go:195 +0x2b3
net.(_conn).Read(0x210563b18, 0x210689000, 0x1000, 0x1000, 0x21061da18, ...)
/app/go/linux-amd64/src/pkg/net/net.go:123 +0xc3
net/http.(_liveSwitchReader).Read(0x21062f538, 0x210689000, 0x1000, 0x1000, 0x1, ...)
/app/go/linux-amd64/src/pkg/net/http/server.go:205 +0x91
io.(_LimitedReader).Read(0x210600b60, 0x210689000, 0x1000, 0x1000, 0x2fdd40, ...)
/app/go/linux-amd64/src/pkg/io/io.go:394 +0xc0
net/http.(_switchReader).Read(0x210629ba0, 0x210689000, 0x1000, 0x1000, 0x0, ...)
/app/go/linux-amd64/src/pkg/net/http/chunked.go:0 +0x62
bufio.(_Reader).fill(0x210686180)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:79 +0x10c
bufio.(_Reader).ReadSlice(0x210686180, 0xa, 0x0, 0x0, 0x0, ...)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:262 +0x202
bufio.(_Reader).ReadLine(0x210686180, 0x0, 0x0, 0x0, 0x22105c0c00, ...)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:293 +0x61
net/textproto.(_Reader).readLineSlice(0x21068a060, 0xe000ceddb, 0x33c9f, 0x21061dc30, 0x2e8a80, ...)
/app/go/linux-amd64/src/pkg/net/textproto/reader.go:55 +0x51
net/textproto.(_Reader).ReadLine(0x21068a060, 0x21061dc30, 0x22105c0d6f, 0x10, 0x2106294f0, ...)
/app/go/linux-amd64/src/pkg/net/textproto/reader.go:36 +0x25
net/http.ReadRequest(0x210686180, 0x21061dc30, 0x0, 0x0)
/app/go/linux-amd64/src/pkg/net/http/request.go:510 +0x86
net/http.(_conn).readRequest(0x21062f510, 0x0, 0x0, 0x0)
/app/go/linux-amd64/src/pkg/net/http/server.go:547 +0x1bc
net/http.(_conn).serve(0x21062f510)
/app/go/linux-amd64/src/pkg/net/http/server.go:1052 +0x398
created by net/http.(_Server).Serve
/app/go/linux-amd64/src/pkg/net/http/server.go:1564 +0x266
goroutine 12 [runnable]:
net/http.(_persistConn).readLoop(0x2106e0180)
/app/go/linux-amd64/src/pkg/net/http/transport.go:761 +0x64b
created by net/http.(_Transport).dialConn
/app/go/linux-amd64/src/pkg/net/http/transport.go:511 +0x574
goroutine 11 [finalizer wait]:
goroutine 13 [select]:
net/http.(_persistConn).writeLoop(0x2106e0180)
/app/go/linux-amd64/src/pkg/net/http/transport.go:774 +0x26f
created by net/http.(_Transport).dialConn
/app/go/linux-amd64/src/pkg/net/http/transport.go:512 +0x58b
This is repeatable as I haven't gotten it to work yet...I should also point out that any force command that would require one to be authenticated is popping up the OAuth flow...
Force.com records can have external ids, which are essentially alternate (usually) unique keys for getting, inserting, updating, and upserting records. For example:
In addition to the upserts, explicit inserts and updates also support external ids, but doesn't look like its documented. This would allow users to do things like this instead of using Salesforce IDs:
$ force record get User username:[email protected]
$ force record update User username:[email protected] LastName:Smith
etc
When I do force export
, it doesn't include custom fields I might have defined on standard objects. Need to add them!
If you do a large enough Bulk API Query, Salesforce chunks this up into multiple result files. The force bulk query retrieve [job id] [batch id]
command appears to only be retrieving one of these files.
When I attempt to login specifying the username and password arguments, I'm redirected to a browser password prompt.
I believe the issue may be this commit:
The runLogin function calls CurrentEndpoint which calls ActiveCredentials which calls ActiveLogin which calls ForceLoginAndSave (used for OAuth authentication) when there are no logins. I don't quite follow the use case that caused the CurrentEndpoint call to be introduced in runLogin.
Running force.com export gives the following error:
ERROR: LIMIT_EXCEEDED: Too many files in retrieve call, limit is: 5000
I guess my org is too large, but I'm not sure how to export just the metadata for a single SObject.
Try to download binary for CLI and link takes me to a blank page.
I'm on OS X 10.9.4. Using Chrome 36. Tried Safari as well. Tried other binary links as well. All links take me to a blank page where nothing happens.
Just want to confirm.
Are there any governor limits for using this tool ?
I'd like to do:
$ force query
SELECT ...<enter>
FROM ...<enter>
^D
-> results
and:
$ pbpaste | force query
Right now I have to worry about bash quoting and editing previous queries can be a PITA.
The name of the accounts
command is confusing because in Force.com an "Account" is a object representing a customer, but the command is modeling the "User" object. I think it would be clearer if the command was named users
or perhaps logins
.
If a query result is large (> 200-2000 reccords), it is split into batches with the remaining records at the nextRecordsUrl
. force
only displays the first batch and ignores the remaining records. This should be fixed at for standard queries, but also applies to child relationship queries, which have their own nextRecordsUrl
s.
While logging in using the latest build and using -u -p from the command line (Windows 7/64-bit), I get the following stack. When I do a "force login" and follow the oauth flow, all is good.
[signal 0xc0000005 code=0x1 addr=0x0 pc=0x420790]
goroutine 16 [running]:
runtime.panic(0x7ee0e0, 0xa96f22)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/panic.c:279 +0x11f
main.(*Force).httpGet(0x0, 0xc08205d0e0, 0x119, 0x0, 0x0, 0x0, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/force.go:779 +0x1c0
main.ForceSoapLogin(0x0, 0xc0820065c3, 0x18, 0xc082005e33, 0x23, 0xc082067a40, 0x70, 0xc0820ddd80, 0x40, 0xc0820e2400, ..
/app/vendor/lib/go/src/src/github.com/heroku/force/force.go:364 +0x83d
main.ForceLoginAndSaveSoap(0x0, 0xc0820065c3, 0x18, 0xc082005e33, 0x23, 0x0, 0x0, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/login.go:129 +0xa5
main.runLogin(0xa958a0, 0xc082008240, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/login.go:75 +0x19c
main.main()
/app/vendor/lib/go/src/src/github.com/heroku/force/main.go:50 +0x2b1
goroutine 19 [finalizer wait]:
runtime.park(0x468d70, 0xa9bef8, 0xa99fc9)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1369 +0xac
runtime.parkunlock(0xa9bef8, 0xa99fc9)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1385 +0x42
runfinq()
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/mgc0.c:2644 +0xdd
runtime.goexit()
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1445
goroutine 23 [IO wait]:
net.runtime_pollWait(0x381d30, 0x72, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/netpoll.goc:146 +0x6d
net.(_pollDesc).Wait(0xc082080170, 0x72, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_poll_runtime.go:84 +0x4d
net.(_ioSrv).ExecIO(0xc082036040, 0xc082080060, 0x8439b0, 0x7, 0x925848, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_windows.go:188 +0x242
net.(_netFD).Read(0xc082080000, 0xc082074000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_windows.go:458 +0x156
net.(_conn).Read(0xc082036050, 0xc082074000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/net.go:122 +0xee
crypto/tls.(_block).readFromUntil(0xc082054d50, 0x381de0, 0xc082036050, 0x5, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:451 +0xe0
crypto/tls.(_Conn).readRecord(0xc08206e000, 0x17, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:536 +0x206
crypto/tls.(_Conn).Read(0xc08206e000, 0xc08209f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:901 +0x171
net/http.noteEOFReader.Read(0x382248, 0xc08206e000, 0xc08203e318, 0xc08209f000, 0x1000, 0x1000, 0xaaece0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:1203 +0x79
net/http.(_noteEOFReader).Read(0xc0820c64e0, 0xc08209f000, 0x1000, 0x1000, 0xc082068050, 0x0, 0x0)
:124 +0xd1
bufio.(_Reader).fill(0xc082015260)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/bufio/bufio.go:97 +0x1ba
bufio.(_Reader).Peek(0xc082015260, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/bufio/bufio.go:132 +0x108
net/http.(_persistConn).readLoop(0xc08203e2c0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:782 +0x9c
created by net/http.(_Transport).dialConn
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:600 +0x946
goroutine 24 [select]:
net/http.(_persistConn).writeLoop(0xc08203e2c0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:885 +0x396
created by net/http.(_Transport).dialConn
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:601 +0x95e
For someone who doesn't know anything about Go (but is willing to learn) and interested in contributing to the project, trying to rebuild the .go files is challenging. Trying to just run main.go doesn't find the other files, trying to build the project fails because of missing packages (inflect, config and dist)
A MD file explaining how to setup a force.com local to would be useful.
Bulk data loading should be added to the CLI.
RubyGems.org doesn't report a license for your gem. This is because it is not specified in the gemspec of your last release.
via e.g.
spec.license = 'MIT'
# or
spec.licenses = ['MIT', 'GPL-2']
Including a license in your gemspec is an easy way for rubygems.org and other tools to check how your gem is licensed. As you can imagine, scanning your repository for a LICENSE file or parsing the README, and then attempting to identify the license or licenses is much more difficult and more error prone. So, even for projects that already specify a license, including a license in your gemspec is a good practice. See, for example, how rubygems.org uses the gemspec to display the rails gem license.
There is even a License Finder gem to help companies/individuals ensure all gems they use meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough issue that even Bundler now generates gems with a default 'MIT' license.
I hope you'll consider specifying a license in your gemspec. If not, please just close the issue with a nice message. In either case, I'll follow up. Thanks for your time!
Appendix:
If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), GitHub has created a license picker tool. Code without a license specified defaults to 'All rights reserved'-- denying others all rights to use of the code.
Here's a list of the license names I've found and their frequencies
p.s. In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :). See the previous link or my blog post about this project for more information.
If a user runs force foo
and foo
is a nonexistent command the main CLI should attempt to delegate to a binary on the PATH
named force-foo
if it exists.
Just downloaded the latest today to test the "oauth create" (I want to login without a browser).
Anyway, when I tried "force login test" my browser opened-up login.salesforce.com instead of test.salesforce.com.
Modifying the URL inside Safari did allow me to authenticate.
DrozBook:~ tgagne$ force version
dev
Unable to create field type: checkbox
$ force field create Case TestCheckbox:bool
ERROR: unable to create field type: bool
$ force field create Case TestCheckbox:boolean
ERROR: unable to create field type: boolean
$ force field create Case TestCheckbox:checkbox
ERROR: unable to create field type: checkbox
My user has the correct permissions
$ force field create Case Test:text
Custom field created
I'm using the Windows EXE from https://force-cli.heroku.com.
I login to either dev or live, copy the link to Chrome (because it doesn't seem to work in firefox) - page on chrome tells me auth worked ok then after 30 seconds or so the cmd line updates with an error:
ERROR: Get https://login.salesforce.com/id/[...id removed...]/[...id removed...]
: dial tcp 204.14.233.101:443: ConnectEx tcp: The semaphore timeout period has expired.
We have an internet proxy here - is there any way of telling CLI about this proxy or is this a different issue?
Thanks.
Extremely easy to reproduce. Resolved when Chrome is set to default browser.
After clicking "Allow" ...
(Some values changed to protect the innocent.)
The CLI itself never completes:
I'm struggling to determine if this is a bug or if I'm doing something incorrectly.
I've defined a number of objects in my DE org. I want to make it easier to reproduce in other orgs, so I thought I'd use the CLI to export the metadata so that, when using a different org, I could import it and get all my custom objects.
Simple tests won't work.
I've tried to run force export metadata_orig
then, in the same org, run force import metadata_orig
. I figured there'd be conflicts but all I get is:
Failures - 1
Successes - 0
I've then logged into a different org and tried it again. Same error.
I've deleted everything but the objects
folder and updated the package.xml
file so that only the CustomObject
type is listed. Same error.
Not sure what else to do. Am I approaching this wrong?
This is the first I've tried it on a PC. I'm pretty sure I've done this on a Mac with no issues.
(venv)spersinger-ltm:Downloads spersinger$ ./force query "select count() from Lead"
Query returns the count in the totalSize attribute of the result. Would be nice to show this from the cli.
I am having a difficulties with the setup. I downloaded the OS X binaries, opened a terminal window and CD into a folder called force. I'm not sure what the next step is? I tried running the force help command but none of the available commands are found.
Tried to import some metadata containing errors. force import
reported:
$ force import
ERROR: Push failed, there were 15 components with errors
ID: 09Si0000002XdlBEAS
I had to zip the metadata and use workbench to get a usable error report. Please show full error report.
This happened after the refactor:
$ force query "SELECT Name, Total_Price__c, CreatedById from Invoice__c WHERE Status__c = 'Opened'"
Name | Total_Price__c | CreatedById
----------+----------------+--------------------
INV-0002 | %!s(float64=173) | 005i0000001HxW6AAK
Hi,
This is a great tool, I really like it.
I had been successfully using the login in the following format:
force login <username> <password>
but I have just downloaded the latest version and this no longer works as I get an error like the following:
ERROR: no such endpoint: <username>
The documentations seem to indicate this is a valid set for params for the login, has this changed?
Many Thanks
Stefan
I am trying to import a custom object from my sandbox to production using force cli. I am using the latest executable after building it locally.
I end up with the message "ERROR: INVALID_OPERATION: rollbackOnError option must be true on a production org"
Is there an option that I am supposed to set for this to work. force help import does not suggest any.
If you use -v you need to provide only a folder where the metadata is stored.
Getting a panic error when calling force field create :. Pulled down the newest code and compiled, still getting the same error.
Thoughts?
panic: reflect: call of reflect.Value.Type on zero Value
goroutine 1 [running]:
runtime.panic(0x24e1a0, 0x1123d570)
/usr/local/go/src/pkg/runtime/panic.c:266 +0x9a
reflect.Value.Type(0x0, 0x0, 0x0, 0x11262e00, 0x1)
/usr/local/go/src/pkg/reflect/value.go:1698 +0x6f
main.ValidateOptionsAndDefaults(0xbffffce5, 0x6, 0x0, 0x0, 0x0, ...)
go/src/github.com/heroku/force/metadata.go:242 +0x26c
main.(*ForceMetadata).ValidateFieldOptions(0x1123d550, 0xbffffce5, 0x6, 0x11262da0, 0x1123d560, ...)
/Users/gqehavr/go/src/github.com/heroku/force/metadata.go:315 +0x1c5
main.runFieldCreate(0x1120a018, 0x2, 0x2)
/go/src/github.com/heroku/force/field.go:82 +0x1f8
main.runField(0x587740, 0x1120a010, 0x3, 0x3)
/go/src/github.com/heroku/force/field.go:41 +0xdf
main.main()
/go/src/github.com/heroku/force/main.go:41 +0x1c7
Got the latest code and built it all so I could use the command line options for login without being prompted in the browser. That worked great but now I cannot use the anonymous apex capability.
I did not have any problems with query, sobject, etc..
Having an issue trying to launch the Force.com CLI on RH 6.4.
I can run force help and force help on any command
but running the force login command just hangs.
I have tried using the standard way
force login -i=test
force login -u -p
I used strace and it stops with the following:
clock_gettime(CLOCK_REALTIME, {1410287483, 270182187}) = 0
close(5) = 0
close(6) = 0
close(7) = 0
accept4(3, 0x185a94d0, [112], SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
epoll_wait(4, {}, 128, 0) = 0
epoll_wait(4, ff807c78, 128, 4294967295) = -1 EINTR (Interrupted system call)
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x84899c0) = -1 EINTR (Interrupted system call)
epoll_wait(4,
Has anyone gotten this tool to run on RH? It runs fine on Ubuntu.
Regards,
Mark
A common use case is adding field(s) to sandbox, setting the FLS by profile with the UI, then writing code that use those fields. Then you need to re-add the fields to prod before deploying code. Can be done with change sets or other methods. Would be awesome if force CLI gave you a quick way to say, add a custom field and set the FLS to be read/write on these XX profiles, read on these XX profiles, and no access on these XX profiles by a list of some sort.
Thanks!
When you run force push src/staticresources/{some zip file}.resource the file is not pushed up instead you get a failure message:
Unknown type name 'staticresources' specified in package.xml.
It seems to think the file type is staticresources rather then StaticResource which is what salesforce expects. I thought it was using the folder name to generate that, but that didn't seem to be it either. I tried putting resources into a folder called StaticResource and just got this error:
"src/StaticResource/{some zip file}.resource", line 0: Error An object '{some zip file}' of type StaticResource was named in package.xml, but was not found in zipped directory.
The build process for OSX fails with the following...
../github.com/ddollar/config/windows.go:8: (*Config).homeDirectory redeclared in this block
previous declaration at ../github.com/ddollar/config/posix.go:9
I did find a working link for the precompiled binary, but the build seems to be broken.
Since binaries cannot be diffed by git, a full copy is stored forever in the Git history and it now makes the repo rather large, since each binary is almost 6Mb multiplied by the number of platforms that have binaries, multiplied by the number of versions stored.
Just did a fresh clone of the repo and it was 120Mb.
It would be far better to use Github Releases instead.
I wish to be able to use the force CLI tool with custom environments URLs.
e.g. force login https://foo.bar.salesforce.com
First of all, this is a kick-ass tool! Saw it used during the Platform keynote at Dreamforce this year and was really impressed.
This issue is primarily for Salesforce devs who want to use force with non-public instances of Salesforce. Requirements:
I tried to grant access to my devorg with force
. The tool opened up my default browser (Firefox) where I logged into Salesforce and granted access. I then got redirected to /auth/callback
but the grant never made it.
When I copied the callback url and pasted it into Chrome I got the "Granted" message from force-cli.herokuapp.com
and was able to use the tool.
One of the things I noticed in all this refactoring and the various flags was that ultimately what I am trying to do is get a list of files. That's all the flags are doing, just specifying different ways to communicate what file-based resource you want to push.
With that in mind, there really only needs to be one flag to specify one or more names for the resources. With the name, we can scan the working directory to find a resource with that name. Based on the either the contents of the file or the location and name of the parent directory (in the case of aura/lightning components) the metadata type can be determined. The metadata type needs to be determined to properly construct the package.xml file.
Store refresh tokens in ~/.force/accounts/<account>
, and automatically refresh the access token when the http methods get a 401 response instead of requiring the user to re-authenticate using force login
.
In order to get a refresh token, we need to either:
startLocalHttpServer
, instead of passing the port in state
, and configure the callback URL to redirect directly back to localhost. We'll need to move the javascript running on https://force-cli.herokuapp.com
, which extracts the parameters in the fragment and redirects with them in the query string, to the local webserver.When I perform an "import" I get a message "ERROR: Post https://cs14.salesforce.com/services/Soap/m/28.0/xxxx: dial udp 10.xx.xx.xx:53: too many open files"
I am on OS X.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.