0

写真をアップロードして自動的に公開する多くの Facebook アプリを見てきました。

C#.NET

JsonObject jasonObj = CreateAlbum(accessToken);

UploadPhoto(jo["id"].toString(""), accessToken, filename);

 public JsonObject CreateAlbum(string accessToken)
        {
            FacebookClient facebookClient = new FacebookClient(accessToken);
            Dictionary<string, object> albumParameters = new Dictionary<string, object>();
            albumParameters.Add("message", "My Album message");
            albumParameters.Add("name", "Album Name");
            JsonObject resul = facebookClient.Post("/me/albums", albumParameters) as JsonObject;
            return resul;
        }

    public void UploadPhoto(string AlbumId, string accessToken, string FullImagePath)
    {
        byte[] photo = File.ReadAllBytes(FullImagePath);

        FacebookApp app = new FacebookApp();
        dynamic parameters = new ExpandoObject();
        parameters.access_token = accessToken;
        parameters.message = "This is a test photo of a monkey that has been uploaded " +
                             "by the Facebook C# SDK (http://facebooksdk.codeplex.com)" +
                             "using the Graph API";
        var mediaObject = new FacebookMediaObject
        {
            FileName = "top.jpg",
            ContentType = "image/jpeg",
        };
        mediaObject.SetValue(photo);
        parameters.source = mediaObject;

        dynamic result = app.Api(String.Format("/{0}/photos", AlbumId), parameters, HttpMethod.Post);
    }

しかし、その写真はタイムラインに掲載されませんでした。

これらの写真をアルバムに追加しますか? 以下の写真は別のアプリケーションからアップロードされたものです。承認する必要があります。

Facebookのポリシーですか?それとも私のミス?

4

2 に答える 2

2

public_streamuser1027092 の回答は実際の許可ではありません - 各写真の特定のユーザーの承認なしにアルバムにアップロードする許可user_photos

これに対する 1 つの重要な例外は、ユーザーがアプリをインストールするときに、アップロードしようとしているアルバムのプライバシー設定よりも厳しいプライバシー設定を選択した場合です。その場合、ユーザーは写真を手動で承認する必要があります。 、より見やすいアルバムにアップロードできた場合、アプリのコンテンツを最大限に表示するための以前の選択が尊重されないためです

于 2012-11-28T06:57:32.227 に答える
1

1) Facebook: ページ開発者アプリでアクセス許可を編集しますhttps://developers.facebook.com/apps/xxxxxxxxxxxx/permissions - 拡張アクセス許可: public_stream 、 read_stream

2) C#: リンク リダイレクトに scope = "publish_stream,read_stream,user_photos" を追加 3) 例: https://www.facebook.com/dialog/oauth?client_id= {0}&scope={1}&redirect_uri=http:/ /www.facebook.com/connect/login_success.html&response_type=token

2行目のスコープを文字列に置き換えます

于 2012-11-28T02:39:43.790 に答える