# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
login="login"
password="password"
cred="$(printf ${login}:${password} | base64)"
curl --location --request POST "https://api.dataforseo.com/v3/reviews/google/task_post"
--header "Authorization: Basic ${cred}"
--header "Content-Type: application/json"
--data-raw "[
{
"location_name": "London,England,United Kingdom",
"language_name": "English",
"keyword": "hedonism wines",
"depth": 50,
"sort_by": "highest_rating"
}
]"
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');
$post_array = array();
// example #1 - a simple way to set a task
// this way requires you to specify a location, a language of search, and a keyword.
$post_array[] = array(
"location_name" => "London,England,United Kingdom",
"language_name" => "English",
"keyword" => mb_convert_encoding("hedonism wines", "UTF-8")
);
// example #2 - a way to set a task with additional parameters
// high priority allows us to complete a task faster, but you will be charged more money.
// after a task is completed, we will send a GET request to the address you specify. Instead of $id and $tag, you will receive actual values that are relevant to this task.
$post_array[] = array(
"location_name" => "London,England,United Kingdom",
"language_name" => "English",
"keyword" => mb_convert_encoding("hedonism wines", "UTF-8"),
"depth" => 50,
"sort_by" => "highest_rating",
"priority" => 2,
"tag" => "some_string_123",
"pingback_url" => 'https://your-server.com/pingscript?id=$id&tag=$tag'
);
// example #3 - an alternative way to set a task
// after a task is completed, we will send the results according to the address you set in the 'postback_url' field.
$post_array[] = array(
"location_name" => "London,England,United Kingdom",
"language_name" => "English",
"keyword" => mb_convert_encoding("hedonism wines", "UTF-8"),
"postback_url" => "https://your-server.com/postbackscript"
);
// this example has a 3 elements, but in the case of large number of tasks - send up to 100 elements per POST request
if (count($post_array) > 0) {
try {
// POST /v3/reviews/google/task_post
$result = $client->post('/v3/reviews/google/task_post', $post_array);
print_r($result);
// do something with post result
} catch (RestClientException $e) {
echo "n";
print "HTTP code: {$e->getHttpCode()}n";
print "Error code: {$e->getCode()}n";
print "Message: {$e->getMessage()}n";
print $e->getTraceAsString();
echo "n";
}
}
$client = null;
?>
const post_array = [];
post_array.push({
"location_name": "London,England,United Kingdom",
"language_name": "English",
"keyword": encodeURI("hedonism wines"),
"depth": 50,
});
const axios = require('axios');
axios({
method: 'post',
url: 'https://api.dataforseo.com/v3/reviews/google/task_post',
auth: {
username: 'login',
password: 'password'
},
data: post_array,
headers: {
'content-type': 'application/json'
}
}).then(function (response) {
var result = response['data']['tasks'];
// Result data
console.log(result);
}).catch(function (error) {
console.log(error);
});
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to set a task
post_data[len(post_data)] = dict(
location_name="London,England,United Kingdom",
language_name="English",
keyword="hedonism wines"
)
# after a task is completed, we will send a GET request to the address you specify
# instead of $id and $tag, you will receive actual values that are relevant to this task
post_data[len(post_data)] = dict(
location_name="London,England,United Kingdom",
language_name="English",
keyword="hedonism wines",
depth=50,
sort_by="highest_rating",
priority=2,
tag="some_string_123",
pingback_url="https://your-server.com/pingscript?id=$id&tag=$tag"
)
# after a task is completed, we will send a GET request to the address you specify
# instead of $id and $tag, you will receive actual values that are relevant to this task
post_data[len(post_data)] = dict(
location_name="London,England,United Kingdom",
language_name="English",
keyword="hedonism wines",
postback_url="https://your-server.com/postbackscript"
)
# POST /v3/reviews/google/task_post
response = client.post("/v3/reviews/google/task_post", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
print(response)
# do something with result
else:
print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace DataForSeoDemos
{
public static partial class Demos
{
public static async Task reviews_google_task_post()
{
var httpClient = new HttpClient
{
BaseAddress = new Uri("https://api.dataforseo.com/"),
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
};
var postData = new List<object>();
// simple way to set a task
postData.Add(new
{
location_name = "London,England,United Kingdom",
language_name = "English",
keyword = "hedonism wines"
});
// after a task is completed, we will send a GET request to the address you specify
// instead of $id and $tag, you will receive actual values that are relevant to this task
postData.Add(new
{
location_name = "London,England,United Kingdom",
language_name = "English",
keyword = "hedonism wines",
depth = 50,
sort_by = "highest_rating",
priority = 2,
tag = "some_string_123",
pingback_url = "https://your-server.com/pingscript?id=$id&tag=$tag"
});
// after a task is completed, we will send a GET request to the address you specify
// instead of $id and $tag you will receive actual values that are relevant to this task
postData.Add(new
{
location_name = "London,England,United Kingdom",
language_name = "English",
keyword = "hedonism wines",
postback_url = "https://your-server.com/postbackscript"
});
// POST /v3/reviews/google/task_post
var taskPostResponse = await httpClient.PostAsync("/v3/reviews/google/task_post", new StringContent(JsonConvert.SerializeObject(postData)));
var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
// you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if (result.status_code == 20000)
{
// do something with result
Console.WriteLine(result);
}
else
Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
}
}
}