* This script creates a pull subscription and requests data from it periodically. * */ // Include the DataSift library require dirname(__FILE__) . '/../../lib/datasift.php'; // Include the configuration - put your username and API key in this file require dirname(__FILE__) . '/../../config.php'; // Authenticate echo "Creating user...\n"; $user = new DataSift_User(USERNAME, API_KEY); //Define some CSDL $csdl = 'interaction.content contains "coffee" AND interaction.type == "tumblr"'; // Create the stream definition $stream_definition = $user->createDefinition($csdl); //Create the push definition $push_definition = $user->createPushDefinition(); $push_definition->setOutputType('pull'); $push_sub = $push_definition->subscribeDefinition($stream_definition, 'My PHP pull subscription'); echo "Pull subscription created, ID: " . $push_sub->getId() . "\n"; //Pull 10 times, every 2 seconds for ($i = 1; $i <= 10; $i++) { sleep(2); echo "Pull number {$i}\n"; $interactions = $push_sub->pull(); foreach ($interactions as $interaction) { if (isset($interaction['interaction']['content'])) { echo "{$interaction['interaction']['content']}\n"; } } } //Delete the subscription