2015-06-19 13 views
5

Tôi đang cố gắng kết bạn/tạo/chức năng trên Instagram nhưng tôi gặp một số lỗi.Tình bạn trên Instagram của PHP/tạo/Lỗi

chức năng tài khoản/đăng nhập đang hoạt động.

tình bạn/tạo Lỗi: "Vui lòng cập nhật ứng dụng Instagram của bạn để tiếp tục theo dõi".

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

Bạn có tìm thấy bản sửa lỗi cho điều này không? –

Trả lời

-1

Bạn đang cố gắng sử dụng các API tư nhân, mà không được phép của Quy định sử dụng Instagram, vì vậy chỉ những người làm việc ở đó biết gì thiếu ở đây.

Như vậy là các API công cộng có thể đạt được những gì bạn muốn làm ở đây: https://instagram.com/developer/endpoints/relationships/#post_relationship

+0

Ứng dụng của tôi mới. Vì vậy, tôi không thể thêm phạm vi mối quan hệ. Bạn có biết giải pháp cho ứng dụng mới không? –

+0

Bạn phải gửi ứng dụng để xem xét, sau đó bạn có thể sử dụng phạm vi mối quan hệ. Không có cách nào khác xung quanh afaik. –

0

Sửa đổi dòng này:

$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"}'; 

Bạn bỏ lỡ user_id tham số trong yêu cầu.

+0

Là '' '$ user_id''' giống với' '' $ username'''? –

Các vấn đề liên quan