2016-04-29 4 views
1

Ist es möglich, eine DM-Nachricht an einen Follower in Twitter mit nur CURL zu senden. Ich bin in der Lage, manuell zwischen den Konten DM. Dies ist mein erster Ausflug in die Entwicklung von Twitter-Apps, daher würde jede Hilfe sehr geschätzt werden.Senden Sie Twitter-Direktnachricht mit curl

habe ich versucht, den folgenden Befehl auf meinem System -usernames/Passwörter Liebling aus:

curl --insecure --verbose --user *****:***** 
--data "text=hello_world&screen_name=***"  
https://api.twitter.com/1.1/direct_messages/new.json 

und erhielt folgende Antwort:

* About to connect() to api.twitter.com port 443 (#0) 
* Trying 199.16.156.231... connected 
* Connected to api.twitter.com (199.16.156.231) port 443 (#0) 
* libcurl is now using a weak random seed! 
* SSLv2, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using AES128-SHA 
* Server certificate: 
*  subject: C=US, ST=California, L=San Francisco, O=Twitter, Inc., OU=Twitter Security, CN=api.twitter.com 
*  start date: 2014-08-03 00:00:00 GMT 
*  expire date: 2016-12-31 23:59:59 GMT 
*  subjectAltName: api.twitter.com matched 
*  issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSi 
gn Class 3 Secure Server CA - G3 
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. 
* Server auth using Basic with user '********' 
> POST /1.1/direct_messages/new.json HTTP/1.1 
> Authorization: Basic dGF1cGlyaG86c3ltbWV0cnkz 
> User-Agent: curl/7.19.5 (IA64-HP-VMS) libcurl/7.19.5 OpenSSL/0.9.7d 
> Host: api.twitter.com 
> Accept: */* 
> Content-Length: 32 
> Content-Type: application/x-www-form-urlencoded 
> 
< HTTP/1.1 400 Bad Request 
< content-length: 62 
< content-type: application/json; charset=utf-8 
< date: Fri, 29 Apr 2016 09:37:05 GMT 
< server: tsa_b 
< set-cookie: guest_id=v1%3A146192262515114070; Domain=.twitter.com; Path=/; Expires=Sun, 29-Apr-2018 09:37:05 UTC 
< strict-transport-security: max-age=631138519 
< x-connection-hash: dcb0fd08d7bd0a64a0be40c7552ee0de 
< x-response-time: 5 
< x-tsa-request-body-time: 0 
< 
{"errors":[{"code":215,"message":"Bad Authentication data."}]} 
                   * Connection #0 to host api.twitter.com left intact 
* Closing connection #0 
* SSLv3, TLS alert, Client hello (1): 

Antwort

1

Ja Sein Mögliche

Unten ist die cURL Befehl, den ich gerade ausprobiert habe und es hat funktioniert.

curl --request 'POST' 'https://api.twitter.com/1.1/direct_messages/new.json' --data 'screen_name=(TWITTER ID)&text=hello%2C+tworld.+welcome+to+1.1.' --header 'Authorization: OAuth oauth_consumer_key="**********************", oauth_nonce="**********************", oauth_signature="******************", oauth_signature_method="HMAC-SHA1", oauth_timestamp="****************", oauth_token="****************************", oauth_version="1.0"' --verbose

bei apps.twitter.com erstellt Stellen Sie sicher, dass eine App haben, können Sie die Website als http://example.com setzen.

Dann gehen Sie zu den Schlüsseln und Zugriff Token Registerkarte und generieren Token-Zugriff.

Dann heover auf This Page und scrollen Sie nach unten zu OAuth Signature Generator, wählen Sie Ihre App und Sie werden auf eine andere Seite umgeleitet werden. Stellen Sie sicher, dass alle OAuth-Einstellungen mit einigen zufälligen Token und Schlüsseln gefüllt sind. Gehen Sie auf die Seite und generieren Sie die OAuth-Signatur und Sie erhalten einen cURL-Code, Post It in terminal und voila!

Sicherstellen, dass Sie RequestQuery screen_name = (TWITTER id EINER PERSON, der Dir folgt) bearbeiten

+0

Vielen Dank für das, aber es scheint, dass die erzeugten Schlüssel One-Shot-Hits sind, die nach einer oder zwei Minuten ablaufen. Ich brauche etwas, das ich die ganze Zeit wiederverwenden und automatisieren könnte. – user2699504

+0

krank versuchen Sie eine neue Methode selbst und kontaktieren Sie uns –

+0

Versuchen Sie, ysing temboo api. Schlag mir einen Daumen hoch, wenn dir die Antwort gefällt –