Twitter api verouderd, hoe te vervangen ?
Nu heb ik inmiddels de link vervangen van :
http://api.twitter.com/1/users/lookup.json?screen_name=
Naar : https://api.twitter.com/1.1/users/lookup.json?screen_name=twitterapi,twitter
Maar helaas werkt het nog steeds niet, als je je twitternaam wilt invoeren blijft hij aangeven dat
de naam niet bestaat.
Weet iemand hoe ik deze moet vervangen voor de v1.1. versie ?
Groetjes Simone.
Hieronder de code twitter.config :
Code (php)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
include('header.php');
if(!$is_online){
redirect('index.php');
exit;
}
$tw1 = $db->Query("SELECT * FROM `twitter` WHERE `user`='".$data['id']."' AND `active`='0'");
$tw = $db->FetchArray($tw1);
if(isset($_POST['submit']) && $_POST['name'] != "") {
$name = $db->EscapeString($_POST['name']);
$sql = $db->Query("SELECT id FROM `twitter` WHERE `t_name`='".$name."' AND `user`='".$data['id']."'");
$ext = $db->GetNumRows($sql);
if($ext > 0){
$db->Query("UPDATE `twitter` SET `active`='0' WHERE `t_name`='".$name."' AND `user`='".$data['id']."'");
$mesaj = '<div class="success">Twitter successfully added!</div>';
$h = 1;
}else{
$sql = $db->Query("SELECT id FROM `twitter` WHERE `t_name`='".$name."'");
$num = $db->GetNumRows($sql);
if($num > 0){
$mesaj = '<div class="msg"><div class="error">Twitter already exist!</div></div>';
}else{
$url = get_data("https://api.twitter.com/1.1/users/lookup.json?screen_name=twitterapi,twitter".$name);
$xml = json_decode($url, true);
$id = $xml[0]['id'];
$av = $xml[0]['profile_image_url'];
if ($id != "")
{
$db->Query("INSERT INTO `twitter` (user, t_name, t_id, t_av) VALUES('".$data['id']."', '".$name."', '".$id."', '".$av."')");
$mesaj = '<div class="msg"><div class="success">Twitter successfully added!</div></div>';
$h = 1;
}elseif($xml['error'] != ''){
$mesaj = '<div class="msg"><div class="error"><b>Twitter says:</b> '.$xml['error'].'</div></div>';
}else{
$mesaj = '<div class="msg"><div class="error">Twitter doesn\'t exist!</div></div>';
}}
}}
if($_GET['a'] == "del"){
$cpc = $db->EscapeString($_POST['cpc']);
$db->Query("UPDATE `users` SET `coins`=`coins`+'".$tw['points']."' WHERE `id`='".$data['id']."'");
$db->Query("DELETE FROM `twitter` WHERE `user`='".$data['id']."'");
$db->Query("DELETE FROM `followed` WHERE `site_id`='".$tw['id']."'");
redirect("twitterconfig.php");
}?>
include('header.php');
if(!$is_online){
redirect('index.php');
exit;
}
$tw1 = $db->Query("SELECT * FROM `twitter` WHERE `user`='".$data['id']."' AND `active`='0'");
$tw = $db->FetchArray($tw1);
if(isset($_POST['submit']) && $_POST['name'] != "") {
$name = $db->EscapeString($_POST['name']);
$sql = $db->Query("SELECT id FROM `twitter` WHERE `t_name`='".$name."' AND `user`='".$data['id']."'");
$ext = $db->GetNumRows($sql);
if($ext > 0){
$db->Query("UPDATE `twitter` SET `active`='0' WHERE `t_name`='".$name."' AND `user`='".$data['id']."'");
$mesaj = '<div class="success">Twitter successfully added!</div>';
$h = 1;
}else{
$sql = $db->Query("SELECT id FROM `twitter` WHERE `t_name`='".$name."'");
$num = $db->GetNumRows($sql);
if($num > 0){
$mesaj = '<div class="msg"><div class="error">Twitter already exist!</div></div>';
}else{
$url = get_data("https://api.twitter.com/1.1/users/lookup.json?screen_name=twitterapi,twitter".$name);
$xml = json_decode($url, true);
$id = $xml[0]['id'];
$av = $xml[0]['profile_image_url'];
if ($id != "")
{
$db->Query("INSERT INTO `twitter` (user, t_name, t_id, t_av) VALUES('".$data['id']."', '".$name."', '".$id."', '".$av."')");
$mesaj = '<div class="msg"><div class="success">Twitter successfully added!</div></div>';
$h = 1;
}elseif($xml['error'] != ''){
$mesaj = '<div class="msg"><div class="error"><b>Twitter says:</b> '.$xml['error'].'</div></div>';
}else{
$mesaj = '<div class="msg"><div class="error">Twitter doesn\'t exist!</div></div>';
}}
}}
if($_GET['a'] == "del"){
$cpc = $db->EscapeString($_POST['cpc']);
$db->Query("UPDATE `users` SET `coins`=`coins`+'".$tw['points']."' WHERE `id`='".$data['id']."'");
$db->Query("DELETE FROM `twitter` WHERE `user`='".$data['id']."'");
$db->Query("DELETE FROM `followed` WHERE `site_id`='".$tw['id']."'");
redirect("twitterconfig.php");
}?>
<div class="block medium right">
<div class="top">
<h1>Twitter Account</h1>
</div>
<div class="content">
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
if($_GET['a'] == "cpc"){
if(isset($_POST['editcpc']) && $_POST['cpc'] > 0 && $_POST['cpc'] <= 5){
$cpc = $db->EscapeString($_POST['cpc']);
$db->Query("UPDATE `twitter` SET `cpc`='".$cpc."' WHERE `t_name`='".$tw['t_name']."' AND `user`='".$data['id']."'");
echo '<div class="msg"><div class="success">CPC successfully changed!</div></div>';
}
?>
if($_GET['a'] == "cpc"){
if(isset($_POST['editcpc']) && $_POST['cpc'] > 0 && $_POST['cpc'] <= 5){
$cpc = $db->EscapeString($_POST['cpc']);
$db->Query("UPDATE `twitter` SET `cpc`='".$cpc."' WHERE `t_name`='".$tw['t_name']."' AND `user`='".$data['id']."'");
echo '<div class="msg"><div class="success">CPC successfully changed!</div></div>';
}
?>
<form method="post">
<fieldset>
<p>
<label>CPC*</label> <br/>
<select class="styled" name="cpc">
<option value="1">1 Coin</option>
<option value="2">2 Coins</option>
<option value="3">3 Coins</option>
<option value="4">4 Coins</option>
<option value="5">5 Coins</option>
<option value="6">6 Coins</option>
<option value="7">7 Coins</option>
<option value="8">8 Coins</option>
<option value="9">9 Coins</option>
<option value="10">10 Coins</option>
</select>
</p>
<p><small><b>* Coins per Click.</b></small></p>
<p>
<input type="submit" class="button gray small" value="Change CPC" name="editcpc" />
</p>
</fieldset>
</form>
<div style="float:left; margin-left: 5px;"><img src="" border="0" /></div>
<div style="float:left; margin-left: 5px;"><b><a href="http://twitter.com/" style="text-decoration: underline; color: #000;" target="_blank"></a></b> (<a href="twitterconfig.php?a=del" style="text-decoration: none; color: red;">Delete</a>)<br><b>Coins:</b> (<a href="addcoins.php?x=twitter" style="text-decoration: none; color: blue;">Add</a>)<br><b>CPC:</b> (<a href="twitterconfig.php?a=cpc" style="text-decoration: none; color: blue;">Edit</a>)</div>
<center><br><img src="" border="0" /><br><b></b></center>
<form method="post">
<table class="form">
<tr>
<td width="150px"><b>Twitter Username</b></td>
<td>
<input type="text" name="name" /><br />
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Submit" /></td>
</tr>
</table>
<div class="msg"><div class="info">If you don't add your real twitter username, used on exchange, you can't earn coins.</div></div>
</form>
</div>
</div>
Gewijzigd op 13/06/2013 09:51:31 door Simone Joosten
Kijk eens op http://dev.twitter.com.
En zet je relevante code tussen codetags.
Gewijzigd op 13/06/2013 10:43:52 door - Ariën -
Ik heb daar gekeken, en json word nog wel ondersteund, maar waarschijnlijk moet ik niet alleen de link aanpassen in twitter.config misschien moet ik ook nog iets anders doen, alleen heb ik dus geen idee wat dat dan zou moeten zijn ?
Authenticeren via de API. Ik ga er ook even induiken.
Oke fijn, want ik kom er echt geen wijs uit :(
Voor zover ik zie kan je niet meer direct JSON zomaar meer benaderen, je zult je dus moeten autenticeren met een Twitter App welke je op http://dev.twitter.com kan aanmaken, als je ingelogd bent. Ik heb geen idee wat je functie get_data() doet.
Ikzelf gebruik de class van: https://github.com/abraham/twitteroauth, waarmee je heel simpel tweets op kan halen, of versturen. Het lijkt ingewikkeld, maar met includeren van de class, en het volgen vanaf 8, kan je al je eigen tweets tonen, of plaatsen.
Op https://dev.twitter.com/docs/api/1.1 staan meer 'resources' die je op kan vragen. Zoals je tijdlijn bekijken, tweets zoeken etc...
Gewijzigd op 13/06/2013 12:52:31 door - Ariën -
https://dev.twitter.com/docs/api/1.1/get/users/lookup :
Authentication: Required
Als je naar users/lookup gaat bij de Twitter API staat dit er gewoon. Ik beveel je dan ook aan om dezelfde class die Aar gebruikt te gebruiken, dat werkt erg goed.
Ik weet niet wat get_data doet, maar je zult je sowieso jezelf moeten authenticeren. Zie Authentication: Required
Als je naar users/lookup gaat bij de Twitter API staat dit er gewoon. Ik beveel je dan ook aan om dezelfde class die Aar gebruikt te gebruiken, dat werkt erg goed.