Ben OAuth kullanarak işe twitter update_profile_image almaya çalışıyorum. Ben normal doğrulama ile curl kullanarak ve herşey güzel çalışıyordu, ama ben this library kullanarak OAuth geçti, ve şimdi update_profile_image dışında her şey çalışıyor.
I twitter OAuth having problems with multipart data hakkında bir şeyler okudum, ama bu bir süre önceydi ve the plugin is supposed to have dealt with that issue.
Kıvırmak kodu ile benim çalışma düzenli doğrulama
$url = 'http://api.twitter.com/1/account/update_profile_image.xml';
$uname = $_POST['username'];
$pword = $_POST['password'];
$img_path = 'xxx';
$userpwd = $uname . ':' . $pword;
$img_post = array('image' => '@' . $img_path . ';type=image/jpeg',
'tile' => 'true');
$format = 'xml'; //alternative: json
$message = 'Test update with a random num'.rand();
$opts = array(CURLOPT_URL => $url,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $img_post,
CURLOPT_HTTPAUTH => CURLAUTH_ANY,
CURLOPT_USERPWD => $userpwd,
CURLOPT_HTTPHEADER => array('Expect:'),
CURLINFO_HEADER_OUT => true);
$ch = curl_init();
curl_setopt_array($ch, $opts);
$response = curl_exec($ch);
$err = curl_error($ch);
$info = curl_getinfo($ch);
curl_close($ch);
Benim şu anki OAuth kod [ben onu kesmek zorunda kaldım, bu yüzden sözdizimi hataları için küçük Bakma yapmak]
include 'EpiCurl.php';
include 'EpiOAuth.php';
include 'EpiTwitter.php';
include 'secret.php';
$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
$twitterObj->setToken($_GET['oauth_token']);
$token = $twitterObj->getAccessToken();
$twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
try{
$img_path = 'xxx';
//$twitterObj->post_accountUpdate_profile_image(array('@image' => "@".$img_path));
$twitterObj->post('/account/update_profile_image.json', array('@image' => "@".$img_path));
$twitterObj->post_statusesUpdate(array('status' => 'This is my new status:'.rand())); //This works
$twitterInfo= $twitterObj->get_accountVerify_credentials();
echo $twitterInfo->responseText;
}catch(Exception $e){
echo $e->getMessage();
}
Ben bir süre için bu anlamaya çalışıyorum, herhangi bir yardım büyük mutluluk duyacağız. I this library bağlı herhangi bir şekilde değilim, bu yüzden başkalarına tavsiye çekinmeyin.