1
C#을 통해 Twitter 계정에 이미지를 게시하고 싶습니다. 내가 액세스 토큰 코드를 얻을 수있는 모든 것이 괜찮하지만 PHP 코드에서 PHP 코드를 C#에서 Twitter에 이미지를 게시하는 방법
$tmhOAuth = new tmhOAuth(array(
'consumer_key' => OAUTH_CONSUMER_KEY,
'consumer_secret' => OAUTH_CONSUMER_SECRET,
'user_token' => $oauth_token,
'user_secret' => $oauth_token_secret,
));
$image = "{$_FILES['image']['tmp_name']};type={$_FILES['image']['type']};filename={$_FILES['image']['name']}";
$code = $tmhOAuth->request('POST', 'https://upload.twitter.com/1/statuses/update_with_media.json',
array(
'media[]' => "@{$image}",
'status' => " " . $status, //A space is needed because twitter b0rks if first char is an @
'lat' => $lat,
'long' => $long,
),
true, // use auth
true // multipart
조사의
OAuth
클래스는 요청 메소드가 있습니다. C# 측에서는
OAuth
클래스에 요청 방법이없는 Twitterizer 라이브러리를 사용했습니다. 그런 다음 요청 방법 대신
Webclient
을 사용했습니다. 그러나 데이터를 게시하려면 일부 자격 증명이 필요합니다. 그러나 나는 사용자 이름과 암호를 왜/왜 사용하는지 모르겠습니다. 사실, 어떤 자격 증명도 사용하고 싶지 않습니다. 자격 증명 대신 무엇을 사용할 수 있습니까?
두 번째 문제는 항상 승인 된 오류 (401) 여기에 코드
OAuthTokenResponse responseToken = OAuthUtility.GetAccessToken(ConsumerKey, ConsumerSecret, oauth_token, oauth_verifier);
OAuthTokens accessToken = new OAuthTokens();
accessToken.AccessToken = responseToken.Token;
accessToken.AccessTokenSecret = responseToken.TokenSecret;
accessToken.ConsumerKey = ConsumerKey;
accessToken.ConsumerSecret = ConsumerSecret;
TwitterResponse<TwitterUser> twitterResponse = TwitterAccount.VerifyCredentials(accessToken);
System.Net.ServicePointManager.Expect100Continue = false;
if (twitterResponse.Result != RequestResult.Unauthorized)
{
try
{
string URL = "https://upload.twitter.com/1/statuses/update_with_media.json";
WebClient client = new WebClient();
client.Credentials = new System.Net.NetworkCredential(uName, pass);
NameValueCollection postData = new NameValueCollection();
postData.Add("status", status);
postData.Add("media[]", Encoding.ASCII.GetString(bytesOfImage));
byte[] b = client.UploadValues(URL, "POST", postData); // 401 error.
}
catch (Exception e)
{
return e.Message;
}
입니다 얻을 것입니다 어디 내 코드의 문제?
는
401은 401 내가 uName의 의심되거나 패스가 잘못되었거나 인증 유형이 사용되는 지원되지 않습니다. 보십시오 fiddler2 같이 공구를보십시오. (OAuth가 HTTP Auth .. 대신에 * 사용되어야한다고 생각할 것입니다. 그래서 client.Credentials 설정은 문제를 복잡하게합니다.) –
무엇을해야합니까? – user1350342
C#에서 Twitter를 사용하는 방법에 대한 자습서를 찾으십니까? 넌 이걸 시도한 사람이 아니야. –