[Tw OAuth] Tweeten vanaf account

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP er

PHP er

23/07/2013 11:35:12
Quote Anchor link
Hi,

Ik ben bezig met een scriptje om te tweeten vanaf één account, maar het wilt maar niet werken..

De key/secrets/token is goed ingevuld, ook zijn de gegevens van het twitter account juist ingevuld. Ook is twitteroauth.php gewoon bereikbaar.

Wanneer ik de pagina bezoek, krijg ik een blanco witte pagina te zien.

Iemand enig idee wat ik fout doe/vergeet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Insert your keys/tokens
$consumerKey = 'geheim';
$consumerSecret = 'geheim';
$OAuthToken = 'geheim';
$OAuthSecret = 'geheim';

// Full path to twitteroauth.php (change oauth to your own path)
require_once('twitteroauth.php');


function getConnectionWithAccessToken($OAuthToken, $OAuthSecret) {
  $connection = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
  return $connection;
}


$connection = getConnectionWithAccessToken("Gebruikersnaam", "Wachtwoord");


// Your Message
$message = "This is a test message..";

// Send tweet
$connection->post('statuses/update', array('status' => "$message"));
 
PHP hulp

PHP hulp

23/04/2024 17:52:45
 
Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 11:40:01
Quote Anchor link
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Insert your keys/tokens
$consumerKey = 'geheim';
$consumerSecret = 'geheim';
$OAuthToken = 'geheim';
$OAuthSecret = 'geheim';

// Full path to twitteroauth.php (change oauth to your own path)
require_once('twitteroauth.php');


$connection = new TwitterOAuth($consumerKey, $consumerSecret, $OAuthToken, $OAuthSecret);


// Your Message
$message = "This is a test message..";

// Send tweet
$response = $connection->post('statuses/update', array('status' => "$message"));

var_dump($response);
?>



En welke library gebruik je? Als het een oude library is, zou het kunnen dat hij nog de vervallen versie 1.0 gebruikt.
Gewijzigd op 23/07/2013 11:44:29 door Koen Vlaswinkel
 
PHP er

PHP er

23/07/2013 11:47:14
Quote Anchor link
Koen Vlaswinkel op 23/07/2013 11:40:01:
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Insert your keys/tokens
$consumerKey = 'geheim';
$consumerSecret = 'geheim';
$OAuthToken = 'geheim';
$OAuthSecret = 'geheim';

// Full path to twitteroauth.php (change oauth to your own path)
require_once('twitteroauth.php');


$connection = new TwitterOAuth($consumerKey, $consumerSecret, $OAuthToken, $OAuthSecret);


// Your Message
$message = "This is a test message..";

// Send tweet
$response = $connection->post('statuses/update', array('status' => "$message"));

var_dump($response);
?>



En welke library gebruik je? Als het een oude library is, zou het kunnen dat hij nog de vervallen versie 1.0 gebruikt.


Hey,

Ik krijg inderdaad:
object(stdClass)#4 (1) { ["errors"]=> array(1) { [0]=> object(stdClass)#5 (2) { ["message"]=> string(119) "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview."; ["code"]=> int(68) } } }

Hoe update ik deze?

Is dat een kwestie van:
public $host = "https://api.twitter.com/1/";

aanpassen naar:
public $host = "https://api.twitter.com/1.1/";


Zodra ik dat doe, krijg ik:

object(stdClass)#4 (1) { ["errors"]=> array(1) { [0]=> object(stdClass)#5 (2) { ["message"]=> string(23) "Bad Authentication data" ["code"]=> int(215) } } }
 
Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 11:51:32
Quote Anchor link
Als je https://github.com/abraham/twitteroauth gebruikt, kan je een nieuwe versie downloaden/clonen. Maar de tweede error wijst erop dat je consumer key, consumer secret, oauth key of oauth secret niet correct is. Heb je deze correct gekopieerd vanaf dev.twitter.com?
 
PHP er

PHP er

23/07/2013 12:49:49
Quote Anchor link
Ik heb de OAuth van Abraham even geupload, krijg nogsteeds de melding:
object(stdClass)#4 (1) { ["errors"]=> array(1) { [0]=> object(stdClass)#5 (2) { ["message"]=> string(23) "Bad Authentication data" ["code"]=> int(215) } } }

Heb ook even alle gegevens gecontroleerd, en die kloppen. Heb jij toevallig ook een app geregistreerd @ Twitter dev? Misschien kun jij hem testen
Gewijzigd op 23/07/2013 12:54:04 door PHP er
 
Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 12:57:17
Quote Anchor link
Bij mij doet hij het gewoon. Heb je je consumer key en consumer secret direct gekopieerd vanaf dev.twitter.com? En heb je nadat je op Create access token hebt gedrukt de access token en access secret gekopieerd in $OAuthToken en $OAuthSecret?
 
PHP er

PHP er

23/07/2013 13:09:08
Quote Anchor link
Koen Vlaswinkel op 23/07/2013 12:57:17:
Bij mij doet hij het gewoon. Heb je je consumer key en consumer secret direct gekopieerd vanaf dev.twitter.com? En heb je nadat je op Create access token hebt gedrukt de access token en access secret gekopieerd in $OAuthToken en $OAuthSecret?


Ik heb alle sleutels en tokens even gereset, en opnieuw ingevoegd. Ook staat de access van de app op 'Read and write'. Alsnog de melding..

Zag ook dat het betreffende Twitter account, het e-mail adres niet bevestigd was, ook dat heb ik even gedaan maar dat helpt niet.

Ook bij
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$connection = getConnectionWithAccessToken("gebruikersnaam", "ww");


Heb ik de juiste gegevens van het Twitter account ingevoegd.

Heb jij nog ideeën?
 
Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 13:17:15
Quote Anchor link
Je hoeft de gebruikersnaam en het wachtwoord niet mee te geven! Probeer de code die ik eerder heb gegeven, je hoeft alleen maar die 4 tokens in te vullen, voor de rest geen wachtwoord of gebruikersnaam.
 
PHP er

PHP er

23/07/2013 13:20:54
Quote Anchor link
Koen Vlaswinkel op 23/07/2013 13:17:15:
Je hoeft de gebruikersnaam en het wachtwoord niet mee te geven! Probeer de code die ik eerder heb gegeven, je hoeft alleen maar die 4 tokens in te vullen, voor de rest geen wachtwoord of gebruikersnaam.


Maar, hoe tweet het systeem dan vanaf dat account?
 
Gerhard l

gerhard l

23/07/2013 13:22:17
Quote Anchor link
via je tokens die zijn gebonden aan je account.

Ik maak ook gebruik van twitteroauth.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$connection
= new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, AUTH_TOKEN, AUTH_SECRET);

$strText = 'test';
$connection->post('statuses/update', array('status' => utf8_encode($strText)));
?>
Gewijzigd op 23/07/2013 13:24:48 door gerhard l
 
PHP er

PHP er

23/07/2013 13:31:53
Quote Anchor link
Hmm, ik begin maar opnieuw met coden haha.

Het doel van de app, die ik wil maken is dat ik wil dat er uit de mysql database, elke dag om 11:00 een bepaalde naam tweet (op basis van cronjobs).

Hoe kan ik dat dan maken, dat de oAuth verbinding maakt met dát account?

(Ik heb inmiddels de app geautoriseerd via Abraham's OAuth

Hmm, ik begin maar opnieuw met coden haha.

Het doel van de app, die ik wil maken is dat ik wil dat er uit de mysql database, elke dag om 11:00 een bepaalde naam tweet (op basis van cronjobs).

Hoe kan ik dat dan maken, dat de oAuth verbinding maakt met dát account?

(Ik heb inmiddels de app geautoriseerd via Abraham's OAuth

Ik heb nu via echo print_r($_SESSION['access_token']); de access token en token secret, die heb ik nu ingesteld als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/**
 * @file
 * User has successfully authenticated with Twitter. Access tokens saved to session and DB.
 */

/* Load required lib files. */

session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');



$oauth_token = 'geheim';
$token_secret = 'geheim';

/* Get user access tokens out of the session. */
$access_token = $oauth_token;

/* Create a TwitterOauth object with consumer/user tokens. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $token_secret);

/* If method is set change API call made. Test is called by default. */


$message = 'test';

$connection->post('statuses/update', array('status' => "$message"));
?>


Beetje een noob-vraag maar, blijft deze nu voor altijd werken, als ik het instel in cronjobs?
Gewijzigd op 23/07/2013 13:51:52 door PHP er
 
Gerhard l

gerhard l

23/07/2013 13:59:03
Quote Anchor link
Als jij zeker weet dat de tokens kloppen, zal dit blijven werken. Alleen let op: twitter laat je niet 2x hetzelfde achter elkaar tweeten, en zal je dus een error terug geven als je nog een keer probeert test te tweeten.

edit: $message hoeft niet tussen aanhalingstekens.
Gewijzigd op 23/07/2013 13:59:28 door gerhard l
 
PHP er

PHP er

23/07/2013 14:00:14
Quote Anchor link
Gerhard l op 23/07/2013 13:59:03:
Als jij zeker weet dat de tokens kloppen, zal dit blijven werken. Alleen let op: twitter laat je niet 2x hetzelfde achter elkaar tweeten, en zal je dus een error terug geven als je nog een keer probeert test te tweeten.

edit: $message hoeft niet tussen aanhalingstekens.


Aha, helemaal toppie :-)

Het tweeten werkt nu inderdaad, nu kan ik weer verder bouwen!

Bedankt beiden! :D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.