2015-06-19 20 views
5

Arkadaşlık/create/function Instagram'da çalışıyorum ama bir hatam var.PHP Instagram arkadaşlık/oluşturma/Hata

hesap/giriş fonksiyonu çalışıyor.

arkadaşlık/oluşturma Hata: "Lütfen devam etmek için Instagram uygulamanızı güncelleyin."

require_once("instagram.php"); 
$username = ''; 
$password = ''; 
$agent = 'Instagram 6.21.2 Android (19/4.4.2; 480dpi; 1152x1920; Meizu; MX4; mx4; mt6595; en_US)'; 
$guid = GenerateGuid(); 
$device_id = "android-".$guid; 
$data ='{"device_id":"'.$device_id.'","guid":"'.$guid.'","username":"'.$username.'","password":"'.$password.'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}'; 
$sig = GenerateSignature($data); 
$data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=6'; 
$login = SendRequest('accounts/login/', true, $data, $agent, false); 
print_r($login); 

/********** 

Login working successfully! No problem... 

***********/ 

/********* 
But error area is here. 
**********/ 

$device_id = "android-".$guid; 
$data = '{"device_id":"'.$device_id.'","guid":"'.$guid.'","device_timestamp":"'.time().'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}'; 
$sig   = GenerateSignature($data); 
$new_data  = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=6'; 
$follow   = SendRequest('friendships/create/29180689', true, $new_data, $agent, true); 

=== instagram.php ===

function SendRequest($url, $post, $post_data, $user_agent, $cookies) { 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://instagram.com/api/v1/'.$url); 
/* 
curl_setopt($ch, CURLOPT_PROXY, $proxy); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); 
*/ 
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

if($post) { 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
} 

if($cookies) { 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');    
} else { 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); 
} 

$response = curl_exec($ch); 
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
return array($http, $response); 
} 
function GenerateGuid() { 
return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', 
     mt_rand(0, 65535), 
     mt_rand(0, 65535), 
     mt_rand(0, 65535), 
     mt_rand(16384, 20479), 
     mt_rand(32768, 49151), 
     mt_rand(0, 65535), 
     mt_rand(0, 65535), 
     mt_rand(0, 65535)); 
} 
function GenerateSignature($data) { 
return hash_hmac('sha256', $data, '25eace5393646842f0d0c3fb2ac7d3cfa15c052436ee86b5406a8433f54d24a5'); 
} 
+0

Bunun için bir düzeltme buldunuz mu? –

cevap

-1

Sen ne var biliyordum işleri Kullanım Instagram Şartları'na izin verilmez özel API'ler, bu yüzden sadece insanları kullanmaya çalışıyorsanız burada eksik.

$data = '{"device_id":"'.$device_id.'","guid":"'.$guid.'","device_timestamp":"'.time().'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}'; 

$data = '{"user_id":"'.$user_id.'","device_id":"'.$device_id.'","guid":"'.$guid.'","device_timestamp":"'.time().'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}'; 

Sen user_id cevapsız olmak: https://instagram.com/developer/endpoints/relationships/#post_relationship

+0

Uygulamam yeni. Bu yüzden ilişkilerin kapsamını ekleyemiyorum. Yeni uygulamalar için bir çözüm biliyor musunuz? –

+0

Uygulamayı inceleme için göndermeniz, ardından ilişkilerin kapsamını kullanabilirsiniz. Afaik'in başka bir yolu yok. –

0

bu satırı değiştirin:

burada ne yapmak istediğini elde edebilirsiniz kamu API'leri vardır konum istek içinde parametre.

+0

'' $ user_id'' '' '$ username''' ile aynı mı? –