質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

1769閲覧

C#でfacebookに投稿するとOAuthException#200

startnote

総合スコア24

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/04/11 06:32

こんにちは。
//http://kurusugawa.jp/2009/06/24/microsoft-shared-licenses/
//http://archive.msdn.microsoft.com/mag201301CuttingEdge/Release/ProjectReleases.aspx?ReleaseId=5932
//http://msdn.microsoft.com/ja-jp/magazine/jj883950.aspx
などを参考に、C#を使ってfacebookにアクセスするツールを作っています。VisualStudio2010を使っています。

using System;
using Facebook;

namespace Facebook {
public partial class FacebookHelpers {
public static String GetLoginUrl() {
var client = new FacebookClient();

var fbLoginUri = client.GetLoginUrl(new { client_id = facebook_key, client_secrec = facebook_secret, redirect_uri = "https://www.facebook.com/connect/login_success.html", response_type = "code", display = "popup", scope = "email" + ",publish_stream,user_status" }); return fbLoginUri.ToString(); } } public static void Post(string token, String status, string url="/me/feed") { var client = new FacebookClient(token); try { dynamic result = client.Post(url, new { message = status }); } catch (Exception e) { string error = e.Message; } }

}

おおまかにこのようなコードで、ログインはできています。tokenにも値が入っています。
ところが、Postしてtokenを渡すとtry-catchの部分でエラーになり、(OAuthException - #200)というエラーが発生します。

これをGoogleで調べたところ、scopeの設定が違っているらしいのだ、ということはわかったのですが、なにとなにが違っているのでしょう?
ログインのときに、publish_streamやuser_statusなどのscope項目を足してみたのですが、いずれも変化なく、症状に変化が起きません。
コードを添削していただけるとうれしいです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Android から Facebook API で投稿すると、 OAuthException (#200) が返ってくる - スタック・オーバーフロー
言語としてはC#とAndroidで違っていますが、サーバへのリクエスト送信、という意味では同じなので参考になるのではないでしょうか?

投稿先のウォールとトークンを生成したユーザのウォールを一致させると、投稿することができました!

↑回答に対するコメントにこんなのがあったので、この回答をC#版に読み替えてあげるといいのかもしれません。

投稿2016/04/11 06:55

編集2016/04/11 06:58
tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

startnote

2016/04/11 13:38

それはすでに質問する前に見て、おっしゃるとおりだなとは思ったのです。 ただ、「投稿先のウォール」がどこで、「ユーザーのウォール」がどこなのかわからずにおります。 それはどこにあるのかご示唆いただけないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問