名前 “LayoutAwarePage” は名前空間 “using:App1.Common” に存在しません。

名前 “LayoutAwarePage” は名前空間 “using:App1.Common” に存在しません。
というエラーが発生してビルドができない場合は
*.sln と同階層にある *.suo ファイル(隠しファイル)を削除するとビルドできるようになります。

LayoutAwarePageは、名前空間のVS2012のバグには存在しないのですか? — IT専門質問の答え — 彼山の知識
名前”LayoutAwarePage”は名前空間”using:App1.Common”に存在しません。 | Microsoft Connect
名前 “LayoutAwarePage” は名前空間 “using:App1.Common” に存在しません。
名前”LayoutAwarePage”は名前空間”using:App1.Common”に存在しません。 | Microsoft Connect


カテゴリー: Windows ストア アプリ | タグ: , , | コメントする

Twitter クライアントの死活監視

Twitter 社による誤 BAN が相次ぐ昨今。

クライアント作者の悲痛な叫び。


カテゴリー: Twitter | タグ: | コメントする

Twitter タイムライン上の動画が自動再生される

タイムライン上の動画が自動再生されるようになりました。

とりあえずOFFにしましょう。


カテゴリー: Twitter | タグ: | コメントする

Twitter Streaming API – quoted tweet イベント(引用ツイート)

URL での引用ツイートが API 対応されました。
Quote Tweet Events in the Streaming API – Announcements – Twitter Developers
Tweet クラス に quoted_status_id/quoted_status_id_str と quoted_status プロパティが追加。

イベント (event) User’s Tweet is quoted の項。
自分のツイートが引用されたとき。
created_at, event, source, target, target_object の5つ。
source と target は User クラス 、 target_object は Tweet クラス

“created_at”: 引用された時刻
“event”: “quoted_tweet”
“source”: 引用したユーザー
“target”: 引用されたユーザー
“target_object”: 引用したツイート(quoted_status に引用元のツイート)

実装参考
add “quoted_status” and “quoted_status_id” to Status object by takke · Pull Request #205 · yusuke/twitter4j · GitHub


カテゴリー: Twitter | タグ: | コメントする

Twitterに画像をアップロードする

Twitter に画像をアップロードする Mevy のコード。参考程度に。
1枚をアップロードする旧形式なので複数枚アップロードできる新形式を推奨。
OAuth には AsyncOAuth を利用。今なら OAuth に加えて Twitter API にも対応してる CoreTweet 推奨。

POST

public async Task<string> PostStatusesUpdateWithMedia(string status, byte[] media, string fileName, Int64? in_reply_to_status_id = null)
{
    var content = new MultipartFormDataContent();
    content.Add(new StringContent(status), "\"status\"");
    content.Add(new ByteArrayContent(media), "media[]", "\"" + fileName + "\"");
    if (in_reply_to_status_id != null)
    {
        content.Add(new StringContent(in_reply_to_status_id.ToString()), "\"in_reply_to_status_id\"");
    }
 
    var client = OAuthUtility.CreateOAuthClient(consumerKey, consumerSecret, accessToken);
    var response = await client.PostAsync("https://api.twitter.com/1.1/statuses/update_with_media.json", content);
    return await response.Content.ReadAsStringAsync();
}

byte[] への変換

[Windows ストアアプリ] IRandomAccessStreamWithContentType を byte[] に変換する | 雪猫ノート

byte[] media = null;
using (IRandomAccessStreamWithContentType stream = await file.OpenReadAsync())
{
    media = new byte[stream.Size];
    using (var reader = new DataReader(stream))
    {
        await reader.LoadAsync((uint)stream.Size);
        reader.ReadBytes(media);
    }
}
 
var json = await client.PostStatusesUpdateWithMedia(status, media, file.Name, in_reply_to_status_id);

カテゴリー: Windows ストア アプリ | タグ: , , | コメントする